Python-da iç-içe funksiýalar

Kody gysgaldylmak üçin, çagyrylan wagty funksiýalary biri-biriniň içine goýup bolýar.

Bizde san kwadrat we kub göterilýän we iki sanyň jemlanyşyny hasaplaýan funksiýalar bar bolsun:

pythondef square(num):
  return num ** 2
  
def cube(num):
  return num ** 3
  
def add(num1, num2):
  return num1 + num2

San kwadratynyň we kubunyň jemini almak üçin, biz olary add funksiýasynyň çagyrylan wagtynda onuň parametrine goýup bileris:

pythonres = add(square(2), cube(4))
print(res) # 68 çykarar

Şeýle hem, bir funksiýanyň içinde beýleki funksiýalary çagyryp bolýar. Öňki mysaly gaýtadan ýazalyň we funksiýalary add funksiýasynyň içinde çaýyralyň:

pythondef add(num1, num2):
  return square(num1) + cube(num2)
  
res = add(2, 4)
print(res) # 68 çykarar
Задание 1

Sany kwadrat götermek we sanyň kubyny almak üçin funksiýa düzüň. Olary ulanmak bilen, sanyň kwadratynyň kubyny ekrana çykarmak üçin funksiýa düzüň.

Задание 2

Üýtgeýjiniň tipini barlap, eger üýtgeýji setir bolsa, ony baş harp bilen çykarmaly funksiýa düzüň. Şeýle hem, ulanyjy ady boýunça salamlaýan funksiýa düzüň. Birinji funksiýany ikinjiniň içine şeýle goýuň, ady hemişe baş harp bilen çykarylsyn.