1681 - Power
Cerința
Prietenul nostru, Zolly, a învățat la scoală despre ridicarea la putere. Ajutați-l să calculeze a^b .
Date de intrare
Programul citește de la tastatură numerele naturale a si b.
Date de ieșire
Programul va afișa pe ecran numărul P, reprezentând a^b .
Restricții și precizări
0 ≤ P ≤ 2.000.000.000; a + b > 0.
Exemplu:
Intrare 5 4
Ieșire 625
Explicație
5 * 5 * 5 * 5 = 625.
Rezolvare
<syntaxhighlight lang="python" line="1"> def validare_date(a, b):
flag = False if 0 < a + b: flag = True print("Datele sunt introduse corect.") if flag == False: print("Datele NU sunt introduse corect.") return flag
def Pow(a, b):
tmp = 1 for i in range(b): tmp *= a print(tmp)
if __name__ == "__main__":
a, b = map(int, input().split()) if validare_date(a, b): Pow(a, b)
</syntaxhighlight>
Explicatie cod:
Codul Python de mai sus definește două funcții: validare_date și Pow. Iată o explicație pentru fiecare dintre ele:
Funcția validare_date(a, b): Această funcție primește doi parametri, a și b, reprezentând două numere întregi. Verifică dacă suma dintre a și b este strict pozitivă (mai mare decât 0). Dacă această condiție este îndeplinită, variabila flag este setată la True, iar mesajul "Datele sunt introduse corect." este afișat. Dacă variabila flag este False, se afișează mesajul "Datele NU sunt introduse corect." Funcția returnează valoarea variabilei flag. Funcția Pow(a, b): Această funcție primește doi parametri, a și b, reprezentând două numere întregi. Funcția calculează a ridicat la puterea b utilizând un buclă for. Rezultatul este stocat în variabila tmp. Rezultatul este apoi afișat. În cadrul secțiunii if __name__ == "__main__": se realizează următoarele acțiuni:
Se citește de la tastatură două numere întregi separate prin spațiu, a și b, și sunt convertite în variabilele corespunzătoare. Se apelează funcția validare_date(a, b) pentru a verifica validitatea datelor. Dacă datele sunt valide, se apelează funcția Pow(a, b) pentru a calcula și afișa puterea, altfel se afișează mesajul "Datele NU sunt introduse corect."