Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 104

__main__.UppercaseException: MO

Мы даже не определяли поведение исключения UppercaseException (обратите

внимание на то, что мы просто использовали pass), позволив его родительскому

классу Exception самостоятельно разобраться, что вывести на экран при генерации

исключения.

Вы можете получить доступ к самому объекту исключения и вывести его на

экран:

>>> try:

... raise OopsException('panic')

... except OopsException as exc:

... print(exc)

...

panic

Упражнения

1. Присвойте значение 7 переменной guess_me. Далее напишите условные провер-

ки (if, else и elif), чтобы вывести строку 'too low', если значение переменной

guess_me меньше 7, 'too high', если оно больше 7, и 'just right', если равно 7.

2. Присвойте значение 7 переменной guess_me и значение 1 переменной start.

Напишите цикл while, который сравнивает переменные start и guess_me. Выве-

дите строку 'too low', если значение переменной start меньше значения пере-

менной guess_me. Если значение переменной start равно значению переменной

guess_me, выведите строку 'found it!' и выйдите из цикла. Если значение пере-

менной start больше значения переменной guess_me, выведите строку 'oops'

и выйдите из цикла. Увеличьте значение переменной start на выходе из цикла.

3. Используйте цикл for, чтобы вывести на экран значения списка [3, 2, 1, 0].

4. Используйте включение списка, чтобы создать список, который содержит не-

четные числа в диапазоне range(10).

Упражнения

141

5. Используйте включение словаря, чтобы создать словарь squares. Используйте

вызов range(10), чтобы получить ключи, и возведите их в квадрат, чтобы полу-

чить их значения.

6. Используйте включение множества, чтобы создать множество odd, которое со-

держит четные числа в диапазоне range(10).

7. Используйте включение генератора, чтобы вернуть строку 'Got' и количество

чисел в диапазоне range(10). Итерируйте по нему с помощью цикла for.

8. Определите функцию good, которая возвращает список ['Harry', 'Ron', 'Hermione'].

9. Определите функцию генератора get_odds, которая возвращает четные числа из

диапазона range(10). Используйте цикл for, чтобы найти и вывести третье воз-

вращенное значение.

10. Определите декоратор test, который выводит строку 'start', когда вызывается

функция, и строку 'end', когда функция завершает свою работу.

11. Определите исключение, которое называется OopsException. Сгенерируйте его,

чтобы увидеть, что произойдет. Затем напишите код, позволяющий поймать это

исключение и вывести строку 'Caught an oops'.

12. Используйте функцию zip(), чтобы создать словарь movies, который объединя-

ет в пары эти списки: titles = ['Creature of Habit', 'Crewel Fate'] и plots = ['A nun

turns into a monster', 'A haunted yarn shop'].

5 Py Boxes:

модули, пакеты