Я просто не знаю, что делать...
Если все, что вы хотите сделать, это добавить ввод + 3, вы можете просто сделать x = int(input("Adds 3"))
, если у вас есть правильная версия
в Python2 (который вы не должны использовать, но, исходя из ошибки, это то, что вы используете) input
уже выполняет оценку, так что просто сделайте x = input('heyy: ')
Не используйте Python 2, не используйте eval
. Если вам нужно использовать Python 2, правильный код — x = int(raw_input("heyy: "))
.
Встроенная функция eval()
предназначена для выполнения вещей в строковом формате.
Чтобы исправить ошибку, которую вы получаете, либо удалите eval()
, либо поместите input("heyy: ")
в кавычки:
x = eval("input(\"heyy: \")")
(Обратная косая черта перед кавычками предназначена для экранирования кавычки, иначе кавычка в строке в input() закроет кавычку, которую вы открыли первой)
Кроме того, обе функции eval()
и input()
будут возвращать строку, вам нужно преобразовать ее в целое число, чтобы добавить к ней 5:
x = int(x)
eval
не обязательно возвращает строку и не будет input
в Python2, ваши первые 2 предложенных решения будут работать (если OP использует Python2)
@Matiiss eval()
возвращает то, что вернет переданная ему строка. Кроме того, поскольку OP использовал круглые скобки для печати чего-либо, мы можем понять, что это не Python 2. Итак, необходимо преобразовать в целое число.
оба утверждения неверны, eval
возвращает результат оцениваемого выражения, круглые скобки можно использовать и в Python2, а OP использует Python2 на основе полученного исключения, которого они не получили бы в Python3
Я сказал то же самое, просто я не знаю таких терминов, как (оценочное выражение), поэтому мне пришлось использовать плохой язык, чтобы выразить то, что я имею в виду. Хотя второго я не знал.
это было взято из документации... круглые скобки - это просто круглые скобки, обычно они используются для вызова функции, но их также можно использовать для группировки вещей, создания кортежей и некоторых других вещей, вероятно, в случае OP это то же самое, что и использование круглых скобок с return
(что-то вроде return (value1, value2)
(что не обязательно)), это просто ключевое слово, в отличие от Python3, где это функция
Я вижу, спасибо за информацию.
попробуйте использовать инт
x = int(input("Enter an integer : "))
print(x+3)
используя оценку:
Python eval() function parse the expression argument and evaluate it as a python expression and runs python expression(code) within the program.
x = int(input("Enter the value : "))
print(eval(f"x+{3}"))
$ python3 test.py
Enter the value : 5
8
для них это будет работать так же просто x = input('hey: ')
какую версию питона вы используете? и не публикуйте изображения кода или ошибок, предоставляйте их в виде правильно отформатированного текста