我刚刚开始编程,并尝试使用简单的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)
答案 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
。但你可以做任何一件事。
希望这会有所帮助,如果您还需要其他任何内容,请说明。