我试图阻止循环列表,因为它是空的。我一直得到的是indexerror不能从空列表中弹出

时间:2018-11-15 21:06:17

标签: python

我正在做一个学校项目,并且正在做一个游戏,使用户可以从多项选择中进行选择。我希望它能在GUI中显示,但是我唯一知道如何使其正确显示的方法是使用.pop方法,该方法在GUI中垂直向下a-e。

这是我得到错误的地方:

tile_frame = Label(frame, text=tiles_letter.pop())
IndexError: pop from empty list


import random
import time
from tkinter import *

root = Tk()

w = Label(root, text="GAME")
w.pack()

frame = Frame(root, width=300, height=300)
frame.pack()

L1 = Label(root, text="User Name")
L1.pack(side=LEFT)
E1 = Entry(root, bd =5)
E1.pack(side=LEFT)

tiles_letter = ['a', 'b', 'c', 'd', 'e']
tiles_letter.reverse()

def add_letter():
    tile_frame = Label(frame, text=tiles_letter.pop())
    tile_frame.pack()
    root.after(500, add_letter)

root.after(0, add_letter)  # add_letter will run as soon as the mainloop starts.
root.mainloop()

我不知道如何阻止它从空白列表中弹出。我尝试使用for..in..loop,但是没有用。非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

在add_letter中,只需使用$params = array(':name' => "My Shop No. \6\"); \6 is probably treated as just "6" (not everything has some escaped meaning) \" possibly caused a syntax error. Normally this is now to get a " inside a string 'My Shop No. \\6\\' 来检查是否有一些字母:

len(tiles_letters) > 0