如何在Python 2.7中“翻译”数学表达式
我试着把'2x^2+3'转成Python能理解的形式,也就是想得到'2*x^2 + 3'。
eq = '2x^2+3'
newlist = []
if '^' in eq:
eq = eq.replace('^', '**')
else:
print ''
for x in range (len(eq)):
newlist.append(eq [x])
print newlist
但是我得到的结果是['2', 'x', ' * ', ' * ', '2', '+', '3'],我其实想要的结果是'2*x**2 + 3',这样Python才能理解。
2 个回答
1
你的结果是一个字符串的列表,可以这样连接起来:
expression = "".join(my_list)
不过你没有注意到你想把2x变成2 * x的那部分。我就留给你自己去想办法解决吧。