我有一个计算模式为字符串
calc = "((k+m+46)/2)"
和一些包含变量的字符串,如
m = 2
k = m*2
所有只有字符串。现在我想将它们初始化为Python。 我的目标是用计算模式计算变量值。
calc应返回26
编辑:
我尝试执行变量但在某些情况下我必须首先执行k = m * 2并且我得到错误m未定义!
答案 0 :(得分:0)
一个简单的解决方案是使用格式字符串。您可以将等式重写为“calc ="({m} + {k} + 46)/ 2" answer = eval(calc.format(m = 2,k = 4))。我建议在评论中使用上面提到的一些专业库。
答案 1 :(得分:0)
#!/usr/bin/python
m = 2
k = m*2
calc = "((k+m+46)/2)"
result = eval(calc)
print result
结果
26