DamiRocK

Python: синтаксическая ошибка или неверный результат теста

Два разных вида неудачи: программа не разбирается или выполняется с неверным выводом. Практика с print(10), незакрытыми кавычками и диагностикой SyntaxError.

Два этапа проверки

Сначала Python должен разобрать синтаксис программы. Незакрытая кавычка или скобка может привести к SyntaxError. Если синтаксис допустим, программа всё ещё может выдавать неправильный результат. Это уже обнаруживает сравнение с условием или тест.

Здесь объединены два исходных урока: устройство проверки решений и синтаксические ошибки. Встроенных автоматических тестов на этой странице нет.

Задание на точный вывод

В первом упражнении нужно напечатать число оставшихся яблок — 10:

print(10)

Замена 10 на 9 не создаёт синтаксической ошибки. Программа успешно выполнится, но ответ не совпадёт с ожидаемым. Проверка вывода должна отличать фактическое значение от требуемого; расположение строк «плюс» и «минус» в диагностике зависит от конкретного инструмента сравнения.

Задание на синтаксис

Во втором упражнении сначала выведите:

print("Program started successfully")

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

Как читать сообщение

Ищите имя файла, номер строки, тип исключения и указатель возле места, где анализатор обнаружил проблему. Это место не всегда совпадает с причиной: незакрытая скобка выше может проявиться на следующей строке или в конце файла. Точная формулировка сообщения может различаться между версиями Python.

Что не доказывает один успешный запуск

Совпадение результата одного примера не доказывает корректность функции на всех входах. Тесты вызывают программу с выбранными данными и сравнивают результаты; они тоже ограничены своим набором проверок. Синтаксически правильный код, успешно прошедший один пример, ещё нужно сверить с полным условием.

Hexlet / Code Basics и участники · Проверка решений, Синтаксические ошибки · GNU AGPL v3. Уроки объединены; платформенные утверждения не перенесены.

Reading preferences

Appearance
Contrast
More options

Saved only in this browser. Your device’s reduced-motion setting is always respected. Browser zoom works throughout the site.