☰ Содержание · Информатика

Переменные и ошибки

Уроки 22–23 · 2 урока · М. Р. Файзиева, Д. М. Сайфуров, Н. С. Хайтуллаева. Информатика и информационные технологии, 9 класс. «Nashriyot uyi Tasvir», Ташкент, 2020
23

Работа с ошибками в Python

Учебник: с. 57–58
ЦельРазличает виды ошибок в программе (синтаксические, ошибки имени, ошибки отступа), читает сообщение об ошибке, находит строку с ошибкой и исправляет её.
Новые слова
сообщение об ошибке: текст, который Python показывает с номером строки и видом ошибки, когда программа не может выполняться · xatolik xabariSyntaxError: код нарушает правила записи, например, пропущена кавычка или скобка · SyntaxErrorNameError: используется имя, которому не присвоено значение или которое написано иначе · NameErrorIndentationError: у строки неправильный отступ (лишние пробелы в начале) · IndentationError
Объяснение

При ошибке программа не запускается (или останавливается), и Python показывает сообщение об ошибке с номером строки и видом ошибки. Чаще всего встречается SyntaxError: кавычка или скобка не закрыта либо нарушено правило записи языка. NameError возникает, когда используется неизвестное имя: переменной не присвоено значение или имя написано иначе, буква в букву, например Print вместо print. Лишний пробел в начале строки вызывает IndentationError, потому что отступ — тоже часть правил Python. Чтобы исправить ошибку, читайте сообщение с конца, проверьте строку, на которую оно указывает (и при необходимости предыдущую), исправьте её и снова запустите программу. Поиск ошибок — обычная часть работы программиста, поэтому не бойтесь сообщения – оно вам помогает.

Примеры
Кавычка не закрыта: print("Salom) – SyntaxError (строка не закрыта). Правильный вариант: print("Salom").
Неизвестное имя: print(nom) – NameError, потому что переменной nom никогда не присваивалось значение. Print("Salom") тоже даёт NameError, потому что Python различает Print и print.
Работа в классе

«Охотник за ошибками»: пары дают друг другу код из 3 строк с одной ошибкой; партнёр называет вид ошибки, указывает строку и исправляет её. (Прочитайте сообщение об ошибке вместе.)

Упражнения
1
Что неверно в коде print("Salom) и как это исправить?
2
Если написано print(yosh), но yosh не присвоено значение, какая ошибка появится?
3
Исправьте этот код: Print("Dunyo")
4
Почему лишний пробел в начале строки приводит к ошибке?