Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Туповатый вопрос по python

Вадим Воронцов Ученик (101), открыт 3 недели назад
Почему строку (str) "2" можно преборазовать в целое число...
>>>stroka = "2"
>>>print(int(stroka))
2

... а строку, содержащее числовое выражение, так преобразовать нельзя?
>>>stroka = "2 + 2"
>>>print(int(stroka))
SyntaxError
6 ответов
даша бак$$ Просветленный (24254) 3 недели назад
ОГОСПОДИ. Я НА КОЛЕНЯХ ПЕРЕД ИМЕНЕМ ВАДИМ И У МЕНЯ РОДИТЕЛИ ВОРОНЦОВЫ
Вадим ВоронцовУченик (101) 3 недели назад
Круто.
даша бак$$ Просветленный (24254) Вадим Воронцов, даа
Олег ПавловичГуру (4000) 3 недели назад
Вадим у тебя будильник е*ашит
даша бак$$ Просветленный (24254) Олег Павлович, ыы
Lyus1Мастер (1231) 3 недели назад
Я тоже теку от Вадима абанина
ruchka||????Знаток (359) 3 недели назад
вау,круто очень,совпадение такое)
даша бак$$ Просветленный (24254) ruchka||????, хехехе
ruchka||???? Знаток (359) 3 недели назад
Строку «2» можно преобразовать в целое число, потому что она содержит только цифры, которые можно привести к целочисленному типу командой int.

Строка «2 + 2», в свою очередь, содержит не число, а выражение, поэтому её нельзя преобразовать в целое число.
Вадим ВоронцовУченик (101) 3 недели назад
Короче просто потому что потому
Sergio 2.1 Оракул (67615) 3 недели назад
Функция int() предназначена только для преобразования строкового представления числа в целое число, но не для вычисления математических выражений. Для вычисления выражений нужно использовать другие методы, например eval() (с осторожностью) или ast.literal_eval().
*~ Zerx ~* Гуру (3105) 3 недели назад
Потому что "2+2" это строка с текстом, которую не преобразуешь в число. Ты же если 2+2 преобразуешь в строку, то получишь "4", а не "2+2", тут такая же логика
Похожие вопросы