我对python相当陌生,正在研究一个CS问题,我必须设计一个简单的数字猜测游戏。游戏还必须包含一个解释游戏规则的Tkinter标签小部件(从1到100之间选择一个数字),一个用户猜测的入口小部件,以及一个按钮,用于调用类中的一个方法,该方法1)确定猜测值是否高于或低于“机密”randint 2)通过猜测高或低引导用户正确,以及3)在用户获得正确答案后祝贺用户。在
在showinfo对话框无限循环的情况下,我一直遇到一个错误。我不知道哪里出了问题,但这是我的代码,我从导入以下内容开始:from random import randint
from tkinter import Tk, Frame, Button, Entry, Label, END
from tkinter.messagebox import showinfo
class Game(Frame):
'A guessing game where a user picks a number from 1 - 100'
def __init__(self, parent=None):
Frame.__init__(self, parent)
self.pack()
Label(self, text = "Pick an integer from 1 - 100").grid(row = 0, column = 0)
self.answer = Entry(self, width=20)
self.answer.grid(row=0, column=1)
Button(self, text='Enter', command = self.compute).grid(row = 1, column = 0)
def compute(self):
secret = randint(1, 100)
answer = int(self.answer.get())
while secret != answer:
if answer > secret:
showinfo(message='Guess a lower integer')
self.answer.delete(0, END)
else:
showinfo(message='Guess a higher integer')
self.answer.delete(0, END)
showinfo(message='You are correct!')
如果有人能解释为什么我会陷入这个循环,我很可能就能弄清楚剩下的。在