如何将tkinter输入框中的数字存储到现有变量中?

时间:2014-08-04 03:23:10

标签: python tkinter tkinter-entry

我刚刚开始编程,并尝试使用简单的GUI创建一个简单的均值/中值/模式计算器。我只找到了如何将字符串保存到变量,但是我只想将int保存到我现有的' UserNumbers'变量。我不确定我的代码顺序是否正确。

mGui = Tk()

mGui.geometry('300x300+600+200')
mGui.title('Mean Median Mode')

mlabel = Label(text='Enter number sequence \n seperated by spaces', fg='red').place(x=7,y=25)
mbutton = Button(text = "Calculate" ).place(x=220, y=250)
mEntry = Entry(mGui, ).place(x=150,y=30)

UserNumbers=input("Enter number sequence separated by spaces: ")
nums = [int(i) for i in UserNumbers.split()]

Average = mean(nums)

print ("The mean is ", Average)

Middle = median(nums)

print ("The median is ", Middle)

if len(set(nums)) == len(nums):
    print("There is no mode ")
else:
    Most = mode(nums)
    print ("The mode is ", Most)

1 个答案:

答案 0 :(得分:0)

好的,所以你有一个GUI,但已经插入了UserNumbers = input(...) 它,这会导致输入窗口出现,然后是GUI窗口,我不认为这是你想要的。这是获取整数值的GUI方法:

import tkinter

root = tkinter.Tk()
nos = tkinter.Entry()
nos.pack()

def getnum():
    nums = int(nos.get())
    print (nums)
but = tkinter.Button(text = 'enter', command = getnum).pack()

root.mainloop()

这是获取整数值的输入方式:

UserNumbers = int(input('whatever you want it to ask...'))

我认为GUI方式可能对您更好,因为您可以使用enter按钮拆分数字,并在getnum函数中包含if语句以测试是否有一定数量的值已经到达,或者当用户到达列表末尾时有另一个按钮,这将停止mainloop。但你可以做任何一件事。

希望这会有所帮助,如果您还需要其他任何内容,请说明。