Python 和 Tkinter : Function madness

标签 python tkinter


我正在尝试为自己编写一个程序来计算从 Tk.Entry() 获取的函数。
问题是,当我尝试运行我的 display() 函数
(它运行 Tkinter、设置窗口并调用 root.Mainloop()),
我收到来自 eval() 的解析错误,该错误来自于应该在用户输入所有变量并按下按钮(按钮的命令)时调用的函数。
函数使用eval(variable),而variable是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  

另外,错误:

File "Q:\Py\counter.py", line 89, in
cfunc n2=eval(_n) File "", line 0
^ SyntaxError: unexpected EOF while parsing

最佳答案

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

  1. 错误消息告诉您问题:意外的 eof。这意味着缺少结束引号或大括号或类似的东西。解析器在获得预期的字符之前就到达了"file"的末尾(正在评估的字符串)。

  2. 在 eval 之前放置一条 print 语句,并使用一些特殊字符来分隔它(例如:puts ">>>$_n<<<"),这样您就可以准确地知道正在 eval 的字符串中的内容'd,包括任何前导或尾随空格。

关于Python 和 Tkinter : Function madness,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4984285/

相关文章:

python - 根据名称进行字符串分组

python-3.x - 多处理 - tkinter 管道通信

python - 在 Tkinter Canvas 中移动球

python - 调整 tkinter 窗口大小以实现全屏

Python Tkinter 文本滚动超过最后一行

python - 在 Python 中比较列表和省略号

python - 如何修复自定义 conda 包的 conda UnsatisfiableError?

python - pip 找不到 pypi 中的模块

python - Graphviz - 绘制最大派系

python - 在 Tkinter 中为框架添加标签会忽略框架的属性