簡體   English   中英

我的程序崩潰(python.exe停止工作)

[英]My program crashes(python.exe has stopped working)

因此,我已經為學校設計了一個項目,該項目無法運行,我也不知道為什么。 每當我按下我制作的“開始”按鈕時,整個程序就會凍結並停止工作,並且看到我之前制作了一個類似的程序(這個程序更清潔),我真的感到很困惑。 這是代碼:

from tkinter import *

root=Tk()
root.minsize(width=3, height=100)
root.title("Counter")

list=[]
list.append(0)

def counter():
    t = 10
    c = 0
    for row in list:
        if (t < 60) or (c < 5):
            l=Label(root, text=t).grid(row=1, column=c)
            t=10+10
            c=0+1
            list.append(t)
    print("") #This is just for debugging purpose
    for row in list:
        if (t < 110) or (c < 10):
            c=0
            ll=Label(root, text=t).grid(row=2, column=c)
            c=0+1
            t+10
            list.append(t)
    return

label=Label(root, text="...").grid(row=0, column=0)
b=Button(root, text="Start", command=counter).grid(row=0, column=1)
label=Label(root, text="...").grid(row=0, column=2)

root.mainloop()

感謝您提供的所有提示,請多加注意! :D

問題是您要修改要遍歷的列表。 除了list不是一個好名字,因為它掩蓋了內置的名字,您總是將元素添加到列表中。 此外,由於t始終分配為20c始終分配為1 ,因此將不滿足任何條件。

凍結的原因是因為您在循環遍歷列表時正在對其進行修改:

list.append(t)

你做了兩次。 您不能以這種方式執行此操作,您應該使用單獨的列表來執行您嘗試執行的操作,或者使用某種列表迭代器。 同樣如前所述,

 t+10 

沒有任何影響,並且您也無論如何都不應將列表命名為“列表”,因為它是保留字,用於其他目的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM