0

我有一个程序可以为一个函数创建一个小的 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)?

提前致谢。

4

1 回答 1

1

如果你只是问如何"1,2,3,4,5"变成一个整数列表,你可以用splitand来做int

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
于 2013-08-16T19:10:44.513 回答