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

Python 如何将tkinter入口框中的数字存储到现有变量中?,python,tkinter,tkinter-entry,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 space

我最近刚开始编程,正在尝试用一个简单的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)

好的,你有一个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...'))
这是获取整数值的输入方式:

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语句来测试是否已达到一定数量的值,或者在用户到达列表末尾时使用另一个按钮,这将停止主循环。但你可以做任何一件事

希望这能有所帮助,如果您还需要什么,只需说一句。

如果您要在创建按钮的同一行上调用pack,那么将结果保存到变量中是没有用的,因为结果总是无。最佳实践是始终在单独的语句中调用pack或grid。