Python列表不添加,只替换
我正试着这样做,当你按下按钮1时,它会在列表中添加“1”。因此,按下按钮两次应产生[1][1]的输出。但它只打印[1]。注意,我对python非常陌生Python列表不添加,只替换,python,Python,我正试着这样做,当你按下按钮1时,它会在列表中添加“1”。因此,按下按钮两次应产生[1][1]的输出。但它只打印[1]。注意,我对python非常陌生 def addnumber(a): numbers = [] numbers.append(a) print(numbers) button1 = Button(bottomFrame, text="1", command=lambda: addnumber(1)) button2 = Button(bottomFrame, t
def addnumber(a):
numbers = []
numbers.append(a)
print(numbers)
button1 = Button(bottomFrame, text="1", command=lambda: addnumber(1))
button2 = Button(bottomFrame, text="2", command=lambda: addnumber(2))
问题是您正在重新初始化
数字
,使其成为函数中的空列表。因此,每次调用该函数时,都会创建一个空列表numbers
,因此先前附加的值将丢失。您需要将numbers=[]
移动到函数外部。通过这种方式,您只需将其定义为一个空列表,然后在每次函数调用期间,这些项就会一直追加/添加到该列表中
numbers = []
def addnumber(a):
numbers.append(a)
print(numbers)
button1 = Button(bottomFrame, text="1", command=lambda: addnumber(1))
button2 = Button(bottomFrame, text="2", command=lambda: addnumber(2))
问题是您正在重新初始化
数字
,使其成为函数中的空列表。因此,每次调用该函数时,都会创建一个空列表numbers
,因此先前附加的值将丢失。您需要将numbers=[]
移动到函数外部。通过这种方式,您只需将其定义为一个空列表,然后在每次函数调用期间,这些项就会一直追加/添加到该列表中
numbers = []
def addnumber(a):
numbers.append(a)
print(numbers)
button1 = Button(bottomFrame, text="1", command=lambda: addnumber(1))
button2 = Button(bottomFrame, text="2", command=lambda: addnumber(2))
这里的问题是,每当按下该按钮时,控件就会转到def ADDNAME(a),您在其中写入数字=[],然后进行追加。数字的范围仅在addnumbers定义中,因此每次都像是创建一个新变量,然后分配给它。尝试全局声明它,然后使用它
number=[]
def地址编号(a):
全球数字
数字。附加(a)
打印(数字)
button1=按钮(底部框架,text=“1”,命令=lambda:addnumber(1))
button2=按钮(底部框架,text=“2”,命令=lambda:addnumber(2))
这里的问题是,每当按下按钮时,控件就会转到def ADDNAME(a),在那里您已经写入了数字=[],然后您正在追加。数字的范围仅在addnumbers定义中,因此每次都像是创建一个新变量,然后分配给它。尝试全局声明它,然后使用它
number=[]
def地址编号(a):
全球数字
数字。附加(a)
打印(数字)
button1=按钮(底部框架,text=“1”,命令=lambda:addnumber(1))
button2=按钮(底部框架,text=“2”,命令=lambda:addnumber(2))