Показываю разборы с ответами и решениями урока 3.1 (Функции) для курса «Программирование на Python». Предыдущий модуль 2.6 следующий модуль 3.2
Есть функция f, которая определена следующим образом: def f(n): return n * 10 + 5
Введите её в интерпретаторе и посчитайте, чему равно значение следующего выражения: f(f(f(10)))
def f(n):
return n * 10 + 5
m = f(f(f(10)))
print(m, '-> f(f(f(10)))')
a = f(10) # n * 10 + 5, где n = 10, т.е. 105
b = f(a) # n * 10 + 5, где n = 105, т.е. 1055
c = f(b) # n * 10 + 5, где n = 1055, т.е. 10555
print(c, '-> c = f(b), b = f(a), a = f(10)')
Ответ: 10555
Напишите функцию f(x), которая возвращает значение следующей функции, определённой на всей числовой прямой:
Требуется реализовать только функцию, решение не должно осуществлять операций ввода-вывода.
def f(x):
if x<=-2:f=1-(x+2)**2
elif-2<x<=2:f=-(x/2)
elif x>2:f=(x-2)**2+1
return f
Напишите функцию modify_list(l), которая принимает на вход список целых чисел, удаляет из него все нечётные значения, а чётные нацело делит на два. Функция не должна ничего возвращать, требуется только изменение переданного списка, например:
def modify_list(l):
le = len(l)-1
i = le
while i!=-1:
if l[i]%2:
del l[i]
else:
l[i]=l[i]//2
i -=1
return