Python 如果语句赢了';t检测到列表不是空的| TKINTER标签

Python 如果语句赢了';t检测到列表不是空的| TKINTER标签,python,list,tkinter,label,Python,List,Tkinter,Label,我有一个公开声明的空列表。按下按钮后,会附加一个标签 IF语句在列表长度为0时执行某些操作,在长度不为0时执行不同的操作 程序检测到第一个长度为0,并相应地执行操作,但第二次它仍然像列表的长度为0一样执行操作。然后第三次它实际检测到列表不是空的。知道问题出在哪里吗 尝试了以下方法: if len(labels) == 0 if not labels 在我的第一次设置中,如果我想设置标签pady=50,然后所有下一个标签都应该是pady=5,但在第二次设置时,它的反应仍然像列表是空的一样。仅在

我有一个公开声明的空列表。按下按钮后,会附加一个标签<代码>

IF语句在列表长度为0时执行某些操作,在长度不为0时执行不同的操作

程序检测到第一个长度为0,并相应地执行操作,但第二次它仍然像列表的长度为0一样执行操作。然后第三次它实际检测到列表不是空的。知道问题出在哪里吗

尝试了以下方法:

if len(labels) == 0

if not labels
在我的第一次设置中,如果我想设置标签
pady=50
,然后所有下一个标签都应该是
pady=5
,但在第二次设置时,它的反应仍然像列表是空的一样。仅在第三次执行时使
pady=5

全部代码:

import requests
from tkinter import *


master = Tk()
master.title('APPLICATION')
master.geometry("1200x750")


labels = []



def ok():
    


    if  len(labels) == 0:
        my_label = Label(text="001")
        my_label.pack(pady=50, side=TOP, anchor=NW)
    else:
        my_label = Label(text="001")
        my_label.pack(pady=5, side=TOP, anchor=NW)

    print(len(labels))


    labels.append(my_label)

    print(labels)

OKbutton = Button(master, text="OK", command=ok)
OKbutton.pack(pady=20, padx=20)
OKbutton.config(height=1, width=8)
OKbutton.place(relx=0.4, rely=0.05, anchor=N)


mainloop()

Output=

这是因为
pady=50
表示小部件顶部有50个像素,底部也有50个像素。因此,如果希望填充仅位于小部件的顶部,则使用
元组来指定像素,如:

pady=(50,0) # 50 on top, 0 on bottom
因此,您的代码如下所示:

if len(labels) == 0:
    my_label = Label(text="001")
    my_label.pack(pady=(50,0), side=TOP, anchor=NW) # 50px top, nothing on bottom

你能发布代码或示例吗?请添加代码和所有相关细节。这还不够。你能发布你的“if-else”序列吗?请展示你初始化和更改标签值的方式。这里我们需要一个完整的工作示例,以便我们能够提供帮助,因此请找出问题所在。请提供一个工作示例