python - 函数内部“名称未定义”
问题描述
我想创建一个倒计时时钟,我几乎做到了,但是如果我在下面运行此代码并按下“开始”按钮,我会收到错误消息: NameError: name 'be' is not defined
. 即使我尝试放在global be
那里它似乎也不起作用
import tkinter as tk
def set1():
global be
if be1 is not '':
be = int(en.get())
def countdown():
global be
if be >= 0:
mins, secs = divmod(be, 60)
timer = '{:02d}:{:02d}'.format(mins, secs)
label['text'] = timer
root.after(1000, countdown)
be -= 1
root = tk.Tk()
label = tk.Label(root, text = '00:00', font = 'Helvetica 25')
label.pack()
en = tk.Entry(root)
en.pack()
be1 = en.get()
tk.Button(root, text = 'set', height = 3, width = 20, command = lambda: set1()).pack()
tk.Button(root, text = 'go', height = 3, width = 20, command = lambda: countdown()).pack()
root.mainloop()
解决方案
请be
在您的代码之上给出一个值,例如
be = 0