此代码是一个wxglade代码&它需要输入文本框,是一个代数或超越函数
def event_2(self, event): # wxGlade: application.<event_handler>
#print "Event handler `event_2' not implemented!"
#event.Skip()
equationString = self.text_ctrl_1.GetValue()
function = eval(equationString)
event.Skip()
它给出错误
Traceback (most recent call last):
File "ppy.py", line 103, in event_2
function = eval(equationString)
File "<string>", line 1, in <module>
NameError: name 'd' is not defined
答案 0 :(得分:3)
无论你在text_ctrl_1中放入什么Python代码,都会引用一个未定义的变量d。 Python不理解代数或符号数学;如果您将x = y + 3
之类的字符串传递给eval
并且未定义x
或y
,则Python会抛出错误。
但是,有些库可以在Python中进行符号数学运算。如果您想在Python中使用符号数学,请查看SymPy。