Python和Tkinter:功能疯狂

时间:2011-02-13 13:04:10

标签: python tkinter


我正在尝试自己编写一个程序来计算取自Tk.Entry()的函数 问题是,当我尝试运行我的display()函数
时 (它运行Tkinter,设置窗口,并调用root.Mainloop()),
如果用户输入所有变量并按下按钮(按钮的命令),我会从一个应该被称为 的函数中获得来自eval()的解析错误。
该函数使用eval(变量),而变量是entry.get() 我在这里做错了什么?

def cfunc(_n,_f,_t0,_tn,):  
 xbase=[]  
 tbase=[]  
 t=0      
 n2=eval(_n)  #Stuff happens here, cfunc gets entry_n.get() as arguments.  
 f2=_f  #Also, tabs are correct in the original.  
 tmin2=eval(_t0)  
 tmax2=eval(_tn)  
 tr=tmax2-tmin2  
 sk = tr / n2  
 i2=tmin2  

另外,错误:

  

文件“Q:\ Py \ counter.py”,第89行,中   cfunc       n2 = eval(_n)文件“”,第0行           ^ SyntaxError:解析时意外的EOF

1 个答案:

答案 0 :(得分:1)

您没有向我们展示导致错误的代码(_n的值),因此我们只能猜测。几句忠告:

  1. 错误消息告诉您问题:意外的eof。这意味着缺少结束报价或支撑或类似的东西。解析器在获得预期的字符之前到达“文件”的末尾(字符串被eval'd)。

  2. 在eval之前放置一个print语句,并使用一些特殊字符来分隔它(例如:puts“>>> $ _ n<<<<”),这样你就可以确切地知道是什么在被评估的字符串中,包括任何前导或尾随空格。