Задачи на функции в Python. Часть 10
В следующем коде некоторый программист допустил ошибку:
num = 3
def outer():
num += 1
tst = num
def inner():
tst = tst ** 3
inner()
return tst
print(outer())
Что не так с этим кодом? Найдите и исправьте ошибку автора кода.
Дан следующий код:
def outer():
def inner(num):
return num + 2
return inner
res = outer()(3)
print(res)
Скажите, что выведется в консоль.
Дан следующий код:
def outer():
def inner(txt):
return 'hello, ' + txt
return inner
res = outer()
print(res)
Скажите, что выведется в консоль.
Дан следующий код:
def outer():
i = 10
def inner():
nonlocal i
i -= 2
print(i)
return inner
res1 = outer()
res1()
res1()
res2 = outer()
res2()
res2()
res2()
Скажите, что выведется в консоль.
Сделайте функцию, каждый вызов которой будет вызывать следующее число Фибоначчи.
Сделайте функцию, которая будет выдавать случайное целое число в промежутке, но так, чтобы два раза подряд не было одинаковых.
Выведите все числовые элементы словаря произвольного уровня вложенности:
{
'a': {
'b': 1,
'c': 2,
'd': {
'e': 3,
'f': 4
}
},
'j': {
'h': 5,
'k': 6,
},
'l': 7
}
Найдите сумму элементов словаря из предыдущей задачи.
Получите список примитивных элементов словаря из предыдущей задачи.