我创建了一个数字猜谜游戏。但是,我一直遇到错误。

问题是当我运行它并输入数字时,它最终会说该数字大于74(这是一个示例)但小于75 ...如果我设置一个特定的数字,它可以正常工作,但是当我生成一个随机数时编号不起作用。

import random
from tkinter import *

def checkInput():


   randomNumber = random.randint(1,100)
   user_guess = int(user_input.get())


   if user_guess == randomNumber:
        print("You got it!")
   if user_guess > randomNumber:
        print("Guess lower!")
   if user_guess < randomNumber:
        print("Guess higher!")

root = Tk()

user_input = Entry(root)
user_input.pack()
check_button = Button(root,text="Check",command=checkInput) .pack()
reset_button = Button(root,text="Reset") .pack()

root.mainloop

最佳答案

问题是您在“ checkInput”函数中生成了随机数,每次您按下“ Check”按钮时都会调用并更改该随机数。您应该做的是一次在“ checkInput”函数外部生成随机数,例如,看下面的代码:

import random
from tkinter import *

def checkInput():

   user_guess = int(user_input.get())

   if user_guess == randomNumber:
        print("You got it!")
   if user_guess > randomNumber:
        print("Guess lower!")
   if user_guess < randomNumber:
        print("Guess higher!")

randomNumber = random.randint(1,100)
root = Tk()

user_input = Entry(root)
user_input.pack()
check_button = Button(root,text="Check",command=checkInput) .pack()
reset_button = Button(root,text="Reset") .pack()

root.mainloop()


基本上,这是您自己的代码,只做了很小的更改,即生成随机数的行现已移出“ checkInput”函数。

祝好运 ...

08-24 13:02