Python将字符串初始化为变量
我有一个计算模式作为字符串Python将字符串初始化为变量,python,python-2.7,Python,Python 2.7,我有一个计算模式作为字符串 calc = "((k+m+46)/2)" 和一些包含变量的字符串,如 m = 2 k = m*2 全部仅限字符串。现在我想将它们初始化为Python。 我的目标是使用计算模式计算可变值 计算应返回26 编辑: 我尝试执行变量,但在某些情况下,我必须首先执行k=m*2,我得到错误m未定义 一个简单的解决方案是使用格式字符串。您可以将您的方程式改写为'calc=“({m}+{k}+46)/2” 答案=评估(计算格式(m=2,k=4))。不过,我建议使用上面评论中提到
calc = "((k+m+46)/2)"
和一些包含变量的字符串,如
m = 2
k = m*2
全部仅限字符串。现在我想将它们初始化为Python。
我的目标是使用计算模式计算可变值
计算应返回26
编辑:
我尝试执行变量,但在某些情况下,我必须首先执行k=m*2,我得到错误m未定义 一个简单的解决方案是使用格式字符串。您可以将您的方程式改写为'calc=“({m}+{k}+46)/2” 答案=评估(计算格式(m=2,k=4))。不过,我建议使用上面评论中提到的一些专业图书馆
#!/usr/bin/python
m = 2
k = m*2
calc = "((k+m+46)/2)"
result = eval(calc)
print result
结果
26
exec('m=2;k=m*2;print((k+m+46)/2)
执行此操作的一般安全方法是使用一个用于计算符号方程的。若要将字符串转换为可计算表达式,您可以使用。calc应返回
???变量无法返回。。。