Вложени функции в 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

Направете функция, която проверява типа на променлива и ако променливата е низ, я извежда с главна първа буква. Също така създайте функция, която поздравява потребителя по име. Вложете първата функция в нея така, че името винаги да се извежда с главна първа буква.