我需要解决一些数学方程,像下面(但每次不同的公式):为什么Pythons eval()错误?
formula="(2/10^8*x^2)+0.0131*x-1017.3-30"
其中x
是整数。
我用eval()函数来解决问题。功能给了我一个例外:
TypeError: unsupported operand type(s) for ^: 'float' and 'int'
我解决了它这样的:
formula=formula.replace('^','**')
现在,我遇到的另一问题。
eval("2/10")
回报0
,而不是我需要0.2
,结果我得到一个错误的结果。 我很欣赏任何答案。
顺便说一句,你知道'^'是按位XOR – jamylak 2013-04-30 12:04:58