444
Приложение Д. Ответы к упражнениям
...
Got 0
Got 1
Got 2
Got 3
Got 4
Got 5
Got 6
Got 7
Got 8
Got 9
8. Определите функцию good, которая возвращает список ['Harry', 'Ron', 'Hermione']:
>>> def good():
... return ['Harry', 'Ron', 'Hermione']
...
>>> good()
['Harry', 'Ron', 'Hermione']
9. Определите функцию генератора get_odds, которая возвращает нечетные числа
из диапазона range(10). Используйте цикл for, чтобы найти и вывести третье
возвращенное значение:
>>> def get_odds():
... for number in range(1, 10, 2):
... yield number
...
>>> for count, number in enumerate(get_odds(), 1):
... if count == 3:
... print("The third odd number is", number)
... break
...
Третье нечетное число равно 5.
10. Определите декоратор test, который выводит строку 'start', когда вызывается
функция, и строку 'end', когда функция завершает свою работу:
>>> def test(func):
... def new_func(*args, **kwargs):
... print('start')
... result = func(*args, **kwargs)
... print('end')
... return result
... return new_func
...
>>>
>>> @test
... def greeting():
Глава 5. Py Boxes: модули, пакеты и программы
445
... print("Greetings, Earthling")
...