Python - 循环的不同元素以不同的速度循环

时间:2015-02-02 19:31:35

标签: python list loops time tkinter

我正在使用Tkinter制作pi记忆游戏。 (Python 2.7)我的主循环必须同时更新Tkinter窗口,并显示pi的新数字供您复制。我的第一个循环代码是

wait = 5
for digit in pilist:
    if wait > 1:
        wait -= 1
    display.delete("all")
    display.create_text((50, 50), text=digit)
    tk.update()
    time.sleep(wait)

这很好用,速度提高了,数字提前了。但是输入条目小部件显得很迟钝,因为它只会更新每个循环,并且循环速度变慢。然后我尝试了这个:

wait = 5
initialtime = time.time()
for digit in pilist:
    if wait > 1:
        wait -= 1
    newtime = time.time()
    if newtime - initialtime >= wait:
        initialtime = time.time()
        display.delete("all")
        display.create_text((50, 50), text=digit)
    tk.update()

列表会更新很好,但我的列表(其中有333个元素)会跳过元素,因为列表会前进,即使显示的唯一数字是每个等待< if语句变为true时的/ em>秒。那么,如何每隔等待秒推进列表,但仍然更新更快?我希望我的问题很明确。

0 个答案:

没有答案