fork download
  1. def row(chislo, stepen):
  2. #определяем функцию внутри, чтобы передать ей собственный аргумент result, который по дефолту равен chislo
  3. #этот аргумент мы используем, как контейнер для результата
  4. def under_row(chislo, stepen, result):
  5.  
  6.  
  7. if stepen == 1:
  8. return result
  9.  
  10. #результат = изначальное число(потом равен сам_себе)*изначальное число
  11. #result = 2*2
  12. #resul = 4*2
  13. #result = 8*2 и т.д.
  14. result = result*chislo
  15.  
  16. print("Число: ", result)
  17. print("Степень ", stepen)
  18. #рекурсивно вызываем фунцию, уменьшая stepen (происходит внутри функции under_row)
  19. under_row(chislo, (stepen-1), result)
  20.  
  21. #final = результат выполнения under_row (происходит внутри функции row)
  22. return under_row(chislo, stepen, chislo)
  23.  
  24.  
  25.  
  26.  
  27.  
  28. result = row(2,5)
  29. print(result)
  30.  
Success #stdin #stdout 0.02s 9984KB
stdin
Standard input is empty
stdout
Число:  4
Степень  5
Число:  8
Степень  4
Число:  16
Степень  3
Число:  32
Степень  2
None