-3
我有一個計算模式作爲字符串Python的初始化字符串作爲變量
calc = "((k+m+46)/2)"
和含有像
m = 2
k = m*2
所有唯一字符串變量一些字符串。現在我想將它們初始化爲Python。 我的目標是用計算模式計算變量值。
計算應返回26
編輯:
我嘗試執行的是增值經銷商,但在某些情況下,我不得不執行的是K = M * 2在第一次和我沒有定義誤碼M!
我有一個計算模式作爲字符串Python的初始化字符串作爲變量
calc = "((k+m+46)/2)"
和含有像
m = 2
k = m*2
所有唯一字符串變量一些字符串。現在我想將它們初始化爲Python。 我的目標是用計算模式計算變量值。
計算應返回26
編輯:
我嘗試執行的是增值經銷商,但在某些情況下,我不得不執行的是K = M * 2在第一次和我沒有定義誤碼M!
#!/usr/bin/python
m = 2
k = m*2
calc = "((k+m+46)/2)"
result = eval(calc)
print result
結果
26
一個簡單的解決方案是使用格式化字符串。您可以將您的方程改寫爲calc =((m + 2),k = 4)。我建議在評論中使用上面提到的一些專業圖書館。
'EXEC( 'M = 2; k = M * 2;印刷((K + M + 46)/ 2)')' – Tempux
一般安全這樣的方式會使用[sympy](http://www.sympy.org/en/index.html)來評估符號方程式。要將字符串轉換爲可計算表達式,您可以使用[sympy解析功能](http://docs.sympy.org/latest/modules/parsing.html)。 –
'calc應該返回'?變量不能返回... – Zizouz212