我正在创建一个测试模块,最终使用python导入更大的程序。
我的测试模块使用tkinter小部件来显示按下按钮时增加的数字列表。
import tkinter
import math
#Defining Variables
global Counter
Counter = 0
global ArrayDisplay1
ArrayDisplay1 = Counter
#Defining the GUI
class simpleapp_tk(tkinter.Tk):
def __init__(self, parent):
tkinter.Tk.__init__(self, parent)
self.parent = parent
self.initialise()
def initialise(self):
#Creating the GUI
self.grid()
self.resizable(False, False)
self.labelVariableArray3 = tkinter.StringVar()
ArrayLabel3 = tkinter.Label(self, textvariable=self.labelVariableArray3, anchor='w',bg='white')
ArrayLabel3.grid(column=2, row=5, columnspan=5, sticky='EW')
self.labelVariableArray3.set("")
ArrayButton2 = tkinter.Button(self, text=u"Next Number", command=self.ArrayClick2)
ArrayButton2.grid(column=2, row=3, sticky='EW')
def ArrayClick2(self):
global Counter
global ArrayDisplay1
Counter = Counter + 1
if Counter == 1:
ArrayDisplay1 = (Counter)
self.labelVariableArray3.set(ArrayDisplay1)
else:
ArrayDisplay1 = (ArrayDisplay1, ",", Counter)
self.labelVariableArray3.set(ArrayDisplay1)
if __name__ == "__main__":
app = simpleapp_tk(None)
app.title('Arrays, Sorts and Searches')
app.mainloop()
我的问题在于ArrayClick2'模块。 我编写了希望输出为:
的代码1
1,2
1,2,3 等等。但是我改为:
1
1,2
{1,2},3
{{1,2},3},4 等等。 我尝试使用replace和strip,但这些似乎都不适用于元组。有人能告诉我另一种创建此列表的方法或只是删除括号吗?
此外,程序开发负责人告诉我,我不能使用名为list的python函数,因为由于某些原因我无法理解它与主程序不兼容
答案 0 :(得分:0)
您可以使用+来连接元组,例如tuple0 = tuple0 + (element,)
。
要从元组中获取结果,您可以使用join
''.join(str(element) + ',' for element in ArrayDisplay1)[:-1]
[: - 1]忽略最后一个,
在不更改代码的情况下,更改为:
第9行:ArrayDisplay1 = (Counter,)
ArrayDisplay1必须是元组
在ArrayClick2函数中if else语句:
if Counter == 1:
ArrayDisplay1 = (Counter,)
self.labelVariableArray3.set(ArrayDisplay1)
else:
ArrayDisplay1 +=(Counter,)
self.labelVariableArray3.set(''.join(str(i)+',' for i in ArrayDisplay1)[:-1])
我希望它会有用。