⇤ ← Версия 1 от 2020-11-11 22:32:56
2719
Комментарий:
|
2705
|
Удаления помечены так. | Добавления помечены так. |
Строка 3: | Строка 3: |
Написать программу — калькулятор с переменными и обработкой ошибок * Пробелы в строках игнорируются * Команда, начинающаяся на '`#`' — комментарий, такие команды игнорируются * Команда вида `Идентификатор = выражение` задаёт переменную `Идентификатор` (именование как в Python) * Если слева от "`=`" стоит не идентификатор, выводится `"Assignment error`"; всё, что справа, игнорируется * Команда вида `выражение` выводит значение выражения. * Выражение — это арифметическое выражение, состоящее из * ''целых'' чисел * уже определённых идентификаторов * круглых скобок * действий `+`, `-`, `*`, `/`, `%` и унарных `+` и `-`. * Деление ''целочисленное'' * Любое другое выражение приводит к выводу ошибки "`Syntax error`" * Если выражение нельзя вычислить, потому что в нём встречаются неопределённые переменные, выводится ошибка "`Name error`" |
Написать программу — калькулятор с переменными и обработкой ошибок * Пробелы в строках игнорируются * Команда, начинающаяся на '`#`' — комментарий, такие команды игнорируются * Команда вида `Идентификатор = выражение` задаёт переменную `Идентификатор` (именование как в Python) * Если слева от "`=`" стоит не идентификатор, выводится `"Assignment error`"; всё, что справа, игнорируется * Команда вида `выражение` выводит значение выражения. * Выражение — это арифметическое выражение, состоящее из * ''целых'' чисел * уже определённых идентификаторов * круглых скобок * действий `+`, `-`, `*`, `/`, `%` и унарных `+` и `-`. * Деление ''целочисленное'' * Любое другое выражение приводит к выводу ошибки "`Syntax error`" * Если выражение нельзя вычислить, потому что в нём встречаются неопределённые переменные, выводится ошибка "`Name error`" |
Написать программу — калькулятор с переменными и обработкой ошибок
- Пробелы в строках игнорируются
Команда, начинающаяся на '#' — комментарий, такие команды игнорируются
Команда вида Идентификатор = выражение задаёт переменную Идентификатор (именование как в Python)
Если слева от "=" стоит не идентификатор, выводится "Assignment error"; всё, что справа, игнорируется
Команда вида выражение выводит значение выражения.
- Выражение — это арифметическое выражение, состоящее из
целых чисел
- уже определённых идентификаторов
- круглых скобок
действий +, -, *, /, % и унарных + и -.
Деление целочисленное
Любое другое выражение приводит к выводу ошибки "Syntax error"
Если выражение нельзя вычислить, потому что в нём встречаются неопределённые переменные, выводится ошибка "Name error"
# Ошибок нет 234 10/3 A = 3*(2+(1-7)%5) A+100 + ++ - -- - + - - 0 # Начинаются ошибки 7*B 3=3 A=4=5 A() A/0
Подсказка 1: удобно пользоваться eval() со всеми тремя параметрами
есть такая в нашем случае неприятная штука — __builtins__, её тоже следует перебить
- Подсказка 2: кое-какие иные конструкции Python тоже являются синтаксическими ошибками
234 3 118 0 Name error Assignment error Syntax error Syntax error Runtime error
- В этом примере сначала приведён ввод, затем вывод (так и будет при тестировании), но если запустить вручную они перемешиваются
- Я делал так:
- и в другом окне