Угнежђене функције у Python-у

За скраћивање кода, приликом позива, функције се могу угнездити једна у другу.

Претпоставимо да имамо функције за квадрирање броја, за кубовање броја и за сабирање два броја:

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

Да бисмо добили збир квадрата и куба броја, можемо их угнездити као параметре функције add приликом њеног позива:

pythonres = add(square(2), cube(4))
print(res) # исписаће 68

Осим тога, функције се могу позивати и у телу друге функције. Хајде да препишемо претходни пример и позовемо функције унутар add:

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

Направите функцију која ће квадрирати број и функцију за добијање куба броја. Такође, уз њихову помоћ направите функцију која ће исписати на екран куб квадрата броја.

Задание 2

Направите функцију која ће проверавати тип променљиве и ако је променљива стринг, исписаће је са великим почетним словом. Такође направите функцију која ће поздравити корисника по имену. Угнездите у њу прву функцију тако да се име увек исписује са великим почетним словом.