var names = ["zaklad", "mocnina"]
var mainFunction = "umocni"
Vašim úkolem je napsat funkci umocni(zaklad, mocnina)
, která má vrátit jako výsledek.
V Pythonu to jde vyřešit na jeden řádek (jako v ukázkovém kódu), ale váš program nesmí používat zabudované umocňování **
. Místo toho má přesně určené, jak má postupovat:
mocnina
je 0, tak vrátí číslo 1 jako výsledek.mocnina
sudé číslo, tak použije sám sebe, aby spočítal . Tenhle výsledek umocní na druhou a vrátí jako výsledek.mocnina
liché číslo, tak vyřeší situaci pro to sudé číslo, které je o 1 menší, pak k němu ještě jednou přinásobí zaklad
a to pak vrátí jako výsledek.Další rady:
if mocnina % 2 == 1:
anebo krátce if mocnina % 2:
mocnina / 2
. Bezpečnější tady může být mocnina // 2
, což je vlastně dělení se zbytkem: vždycky vrátí celé číslo jako výsledek.def umocni(zaklad, mocnina):
return zaklad ** mocnina