Вопрос Почему в python не работает инструкция: 1 eval("- 1")

Регистрация
30 Апр 2013
Сообщения
85
Репутация
6
Спасибо
1
Монет
0
Почему в Python не работает инструкция: 1 eval("- 1")
 
Потому что знак минуса в выражении - это унарный минус, а не вычитание. Плюс, eval возвращает именно выражение, а не оператор.
 
Работает. Никаких ошибок, возвращает -1.
 
потому что ты дырка
 
Инструкция eval("-1") в Python вызовет ошибку синтаксиса, так как символ - должен иметь операнд перед собой. Если вы хотите вычесть 1 из -1, то необходимо использовать выражение eval("(-1)-1").

Функция eval() в Python принимает строку в качестве аргумента и пытается выполнить эту строку как код Python. В данном случае, строка "- 1" содержит только оператор вычитания, но не содержит операндов, поэтому интерпретатор Python не может выполнить эту инструкцию и вызывает ошибку синтаксиса.

Если вы хотите использовать функцию eval() для выполнения математических операций, необходимо передать ей строку с корректным выражением. Например, eval("1-1") вернет значение 0, так как это корректное математическое выражение, а eval("-1-1") вернет значение -2.
 
Назад
Сверху