2016-12-07 1 views
-1

Например, если у меня есть:Как преобразовать «1 + 2» в междунар в питона

x = '12' 
print(int(x)) 

превратит x в целое число из строки.

Что делать, если у меня есть:

x = '1+2' 

И я хочу 3, как мой выход, как бы я идти об этом, так как + не может быть преобразован в междунар напрямую?

+1

'eval (x)' даст 3. Вы даже попытались выполнить поиск в первую очередь? – Pythonista

ответ

-1

Здесь вы можете использовать eval.
Использование eval(expression[, globals[, locals]]).
Поэтому eval('1+2') 3

0

Вы можете использовать функцию eval для достижения этой цели; однако следует отметить, что допускать несанкционированный ввод в функцию eval может представлять значительный риск для безопасности. Вот пример:

x = '1 + 2' 
print(eval(x)) 
3

Использование literal_eval что гораздо безопаснее, чем при использовании eval. literal_eval безопасно оценивает узел выражения или строку, содержащую выражение python.

import ast 
x = ast.literal_eval('1+2') 
Смежные вопросы