def start(timer):
global minuti
canvas.itemconfig(second_text, text=f"0{timer}")
window.after(1000, start, timer + 1)
if len(str(timer)) < 2:
print(timer)
canvas.itemconfig(second_text, text=f"0{timer}")
else:
canvas.itemconfig(second_text, text=timer)
if timer / 10 == 1:
timer = 0
minuti = minuti + 1
if len(str(minuti)) < 2:
canvas.itemconfig(minute_text, text=f"0{minuti}")
else:
canvas.itemconfig(minute_text, text=minuti)你好,我有这段代码,当计时器等于10时,我想把它重置为0。上面的代码不能正常工作,代码"timer = 0“是”'timer‘value不使用“。我认为这是个范围问题,但我不确定。
有人能帮我吗?
PS:我尝试用window.after更改: timer =0(1000,start,Timer-10),并且正在工作.有人能解释一下为什么会起作用吗?谢谢。
发布于 2022-09-14 16:24:46
这不是错误,这是来自IDE的警告。在这行之后,timer = 0、timer不再被使用(您没有将它用于函数的其余部分),因此您的IDE只是让您知道,将这个赋值分配给0是毫无意义的。如果函数的目标是在调用函数后更改timer的值,那么您就会遇到问题,因为Python使用的是传递共享,这意味着不可更改的类型(如ints/floats/等)不会改变。
https://stackoverflow.com/questions/73720147
复制相似问题