Education 1.1 Help

Задачи

Задача 1

Подмените функцию print() так, чтобы она ПЕЧАТАЛА ВЕСЬ ТЕКСТ В ВЕРХНЕМ РЕГИСТРЕ. Реализовывать работу с именованными аргументами (sep, end, ...) не нужно.

Пример 1

Ввод

# Ваш код print('Нельзя ли потише?')

Вывод

НЕЛЬЗЯ ЛИ ПОТИШЕ?

Задача 2

Напишите декоратор check_password, который запрашивает пароль, прежде чем вызвать функцию, и если он неверный — возвращает None и печатает «В доступе отказано». Запарольте этим декоратором функцию вычисления числа Фибоначчи.

Задача 3

Напишите генератор декораторов check_password, т. е. функцию, которая возвращает декоратор. Генератор декораторов принимает в качестве параметра пароль, и получившийся декоратор должен закрыть функцию этим паролем. Декоратор будет применяться следующим образом:

@check_password(’password’) make_burger(typeOfMeat, withOnion=False, withTomato=True): # ...

Т.е при определении функции сначала вызывается функция check_password() c аргументом " password ", получается декоратор, затем уже этот получившийся декоратор применяется к функции.

Задача 4

Напишите декоратор cached, который будет кэшировать результат вызова функции. Пример того, как можно будет использовать ваш декоратор:

@cached def fib(n): if n == 1 or n == 2: return 1 else: return fib(n - 1) + fib(n - 2)
Last modified: 12 June 2024