我在写一个程序,一次显示一个斐波那契数列。你应该输入你想要的数字,数字一次显示一个。但是,当我按下按钮时,它只显示1。你知道吗
第一个版本的代码不起作用,因为你会按下按钮,只得到最终的数字。我试图通过在函数中添加“returnfib”来修复它(但失败了),但这导致了当前的问题。你知道吗
from time import sleep
from tkinter import *
def calc():
a = 1
b = 0
c = 0
w = texxt.get()
num = int(w)
for i in range(num):
if a >= b:
fib.set(str(a))
elif b >= a:
fib.set(str(b))
else:
fib.set("ERROR")
break
c = a + b
if a >= b:
b = c
elif b >= a:
a = c
else:
pass
return fib
sleep(1.2)
root = Tk()
fib = StringVar()
texxt = StringVar()
root.title("Fibonacci Calculator")
entry = Entry(root, textvariable = texxt)
entry.grid(row = 0, column = 0, sticky = 'nsew', padx = 3, pady = 3)
button = Button(root, text = "Start", command = calc)
button.grid(row = 1, column = 0, sticky='nsew', padx = 3, pady = 3)
label = Label(root, width = 10, textvariable = fib, relief = 'sunken')
label.grid(row = 0, column = 1, rowspan = 2, sticky = 'nsew')
root.mainloop()
我希望下一个数字每1.2秒出现一次,但我只得到1,其他什么都没有。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐