Для этого потребуется определить новый тип объекта с помощью класса — этим мы не будем заниматься вплоть до главы 6. Поэтому, если вы не знакомы с классами, может понадобиться вернуться к этому разделу позже.
Любое исключение является классом, в частности потомком класса Exception. Создадим исключение, которое называется UppercaseException, и вызовем его, когда встретим слово, записанное в верхнем регистре.
>>>> class UppercaseException(Exception):
>…·····pass
>…
>>>> words = ['eeenie', 'meenie', 'miny', 'MO']
>>>> for word in words:
>…·····if word.isupper():
>…·········raise UppercaseException(word)
>…
>Traceback (most recent call last):
>··File "", line 3, in
>__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).
5. Используйте включение словаря, чтобы создать словарь squares. Используйте вызов range(10), чтобы получить ключи, и возведите их в квадрат, чтобы получить их значения.
6. Используйте включение множества, чтобы создать множество odd, которое содержит четные числа в диапазоне range(10).
7. Используйте включение генератора, чтобы вернуть строку 'Got' и количество чисел в диапазоне range(10). Итерируйте по нему с помощью цикла for.
8. Определите функцию good, которая возвращает список ['Harry', 'Ron', 'Hermione'].