Решение модуля 3.1 из курса «Программирование на Python»

Показываю разборы с ответами и решениями урока 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), которая возвращает значение следующей функции, определённой на всей числовой прямой:

Решение модуля 3.1 из курса «Программирование на Python»

Требуется реализовать только функцию, решение не должно осуществлять операций ввода-вывода.

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

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Adblock
detector