ruchka||????
Знаток
(359)
3 недели назад
Строку «2» можно преобразовать в целое число, потому что она содержит только цифры, которые можно привести к целочисленному типу командой int.
Строка «2 + 2», в свою очередь, содержит не число, а выражение, поэтому её нельзя преобразовать в целое число.
Sergio 2.1
Оракул
(67615)
3 недели назад
Функция int() предназначена только для преобразования строкового представления числа в целое число, но не для вычисления математических выражений. Для вычисления выражений нужно использовать другие методы, например eval() (с осторожностью) или ast.literal_eval().
*~ Zerx ~*
Гуру
(3105)
3 недели назад
Потому что "2+2" это строка с текстом, которую не преобразуешь в число. Ты же если 2+2 преобразуешь в строку, то получишь "4", а не "2+2", тут такая же логика
>>>stroka = "2"
>>>print(int(stroka))
2
... а строку, содержащее числовое выражение, так преобразовать нельзя?
>>>stroka = "2 + 2"
>>>print(int(stroka))
SyntaxError