更改列表条目语法

时间:2013-08-16 18:23:51

标签: python tkinter

我有一个为函数创建一个小GUI的程序。特别是,我有这样的事情:

def create_widgets(self):
    self.entryLabel = Label(self, text="Please enter a list of numbers:")
    self.entryLabel.grid(row=0, column=0, columnspan=2)      

    self.listEntry = Entry(self)
    self.listEntry.grid(row=0, column=2, sticky=E)

    self.entryLabel = Label(self, text="Please enter an index value:")
    self.entryLabel.grid(row=1, column=0, columnspan=2, sticky=E)

    self.indexEntry = Entry(self)
    self.indexEntry.grid(row=1, column=2)

    self.runBttn = Button(self, text="Run Function", command=self.Function)
    self.runBttn.grid(row=2, column=0, sticky=W)

    self.answerLabel = Label(self, text="Output List:")
    self.answerLabel.grid(row=2, column=1, sticky=W)

然后,对于函数的定义,我后来有一个部分:

    self.answer = Label(self, text=rtn)
    self.answer.grid(row=2, column=2, sticky=W)     

告诉它输出的内容。

现在,问题是输入是作为字符串输入的(例如12345),所以它会将数字10,11,12等识别为各自的数字。是否有一种简单的方法来修改它以要求列表输入以逗号分隔(例如1,2,3,4,5)?

提前致谢。

1 个答案:

答案 0 :(得分:1)

如果您只想询问如何将"1,2,3,4,5"转换为整数列表,可以使用splitint来完成。

user_input = "4,8,15,16,23,42"
numbers = [int(d) for d in user_input.split(",")]

print "numbers:", numbers
print "sum of numbers:", sum(numbers)

结果:

numbers: [4, 8, 15, 16, 23, 42]
sum of numbers: 108