Ошибки
Некоторые строки нельзя досчитать до конца. Python останавливается на такой строке и даёт остановке имя. 8 / 2 доходит до конца: двое делят 8, и каждая доля равна четырём. 1 / 0 не доходит: некому отдать эту 1. Имя этой остановки — ZeroDivisionError.
print(8 / 2)
print(1 / 0)
print("rice")
На экране 4.0, и затем программа останавливается. 4.0 — это четыре, записанные с десятичной точкой, потому что такое деление пишет число именно так. rice не пишется. Строка после остановки не выполняется.
Имя читайте в конце сообщения. ZeroDivisionError значит: эта строка делила на ноль. Другая проблема получает другое имя. По имени проблемы и отличаются.
print(tea) останавливается, если имени tea так и не дали значение. Имя этой остановки — NameError. print("tea") — другая строка: кавычки делают текст, и этот текст был бы написан. Без них Python ищет имя.
Python не выдумывает значение и не идёт дальше. Он не пишет None, а потом rice. Остановка — это конец этой программы.
📊 Какая остановка, или её нет
| Строка | Что происходит |
|---|---|
| 1 / 0 | программа останавливается, и имя ZeroDivisionError |
| print(tea), и tea так и не дали значение | программа останавливается, и имя NameError |
| 8 / 2 | пишется 4.0, и программа не останавливается |
| print("rice") после 1 / 0 | эта строка не выполняется |
Само деление разрешено. 8 / 2 пишет 4.0 и не останавливается. Ноль справа от черты останавливает вторую строку.
Следующая страница ловит остановку, чтобы строки после неё всё же выполнялись. Эта страница только читает имя остановки.
Как называется остановка
- Что пишется до того, как программа остановится?
- Как называется остановка на 1 / 0?
- Что происходит с print("rice")?
- Если написать print(tea), а tea так и не дали значение, как называется остановка?
- Что делает 8 / 2?
Два имени, две проблемы
Экран показывает 4.0, затем программа останавливается. rice не пишется. 1 / 0 называется ZeroDivisionError. Имя, которому не дали значение, называется NameError. 8 / 2 не останавливается. Следующая страница ловит остановку, чтобы поздние строки всё же выполнялись.
🧠 Проверьте Свои Знания
Проверьте Свои Знания
Бросьте себе вызов с помощью этой интерактивной викторины и узнайте, насколько хорошо вы понимаете тему
📝 Инструкции
- Внимательно прочитайте каждый вопрос
- Выберите лучший ответ на каждый вопрос
- Вы можете пересдавать тест столько раз, сколько захотите
- Ваш прогресс будет показан вверху