Ошибка в Python — не поломка, а обычный этап работы. Язык сам пишет, что именно ему не понравилось и в какой строке. Проблема новичка не в том, что ошибки случаются, а в том, что сначала он не умеет читать сообщения о них. Это проходит за несколько занятий.

Отступы: самая частая причина, почему код не работает

В Python отступ в начале строки — часть синтаксиса, а не оформления. Именно он показывает, что входит в цикл или в условие, а что нет. В большинстве других языков для этого есть фигурные скобки, в Python — пробелы.

Поэтому самая распространённая ситуация на первых занятиях: код выглядит правильным, но одна строка сдвинута на пробел, и программа ведёт себя странно или не запускается вовсе. Ребёнок ищет ошибку в логике, а она в пробеле.

Лечится это быстро — редактор подсвечивает уровни отступов, и за пару недель рука сама держит структуру.

Одно «равно» вместо двух

В коде = означает «положи значение», а == — «сравни». Тема условий if / else в программе идёт третьей, и именно на ней эта путаница встречается почти у каждого.

Причина понятна: в школе знак равенства означает ровно сравнение. Приходится сознательно разводить два смысла. Когда ребёнок один раз увидел, как программа вместо проверки перезаписала значение, — запоминает надолго.

Забытые двоеточие и скобки

После if, for, while и def ставится двоеточие. Забыть его — классика первых занятий, и Python честно сообщает SyntaxError с указанием строки.

То же со скобками в вызове функции: print без скобок ничего не напечатает. Обе ошибки полезны тем, что учат главному навыку — читать сообщение, а не гадать.

Путаница типов: число против строки

Вторая тема программы — переменные и типы данных, и там же возникает первый конфликт: введённое с клавиатуры значение приходит как строка, даже если это цифры. Попытка прибавить к нему число даёт ошибку.

Это не мелочь, а первая встреча с мыслью, что данные бывают разного рода и преобразование между ними нужно делать осознанно. Позже, в темах про файлы и API, эта привычка оказывается очень кстати.

Бесконечный цикл

Цикл while работает, пока условие истинно. Если внутри забыть изменить переменную, программа не остановится никогда. На занятии это выглядит эффектно: экран заполняется текстом, пока кто-нибудь не нажмёт остановку.

Полезный побочный эффект — ребёнок своими глазами видит, что компьютер не «догадается», чего от него хотели. Он выполнит буквально написанное, сколько бы это ни длилось.

Значат ли частые ошибки, что ребёнку сложно?

Нет. Количество ошибок на старте почти ничего не говорит о способностях — оно говорит о том, что ребёнок пишет код, а не переписывает готовое. Более тревожен обратный сигнал: когда ошибок нет, потому что ничего не пробуется.

Что делает преподаватель, когда ребёнок застрял?

Не показывает ответ сразу. Сначала просит прочитать сообщение об ошибке вслух и посмотреть на указанную строку. В группе до 6 учеников это реально сделать с каждым — собственно, поэтому группа и небольшая.

Как помочь дома, если вы не программист?

Достаточно двух вопросов: «что написано в ошибке?» и «какую строку она называет?». Отвечать на них ребёнок будет сам, и этого обычно хватает. Решать за него не нужно.

Почему это нормальная часть обучения

Программа первой ступени — 156 занятий в течение 18 месяцев — построена так, что темы наращиваются постепенно: переменные, условия, циклы, функции, списки, и лишь потом Turtle и Minecraft. Каждая новая тема добавляет свой набор типичных ошибок, и каждая отрабатывается, пока не перестанет мешать.

Если интересно, что получается на другом конце этого пути, посмотрите что кладут в портфолио до 18 лет. А с какого возраста браться за язык — разобрано отдельно: с какого возраста учить Python.