Python猜谜游戏出错?

2024-04-20 15:34:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我创造了一个猜数字的游戏。然而,我不断地遇到一个错误。你知道吗

问题是当我运行它并输入数字时,它最终会说数字高于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

Tags: importinputifbutton数字randomrootpack
1条回答
网友
1楼 · 发布于 2024-04-20 15:34:22

问题是,您正在“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”函数中移出。你知道吗

祝你好运。。。你知道吗

相关问题 更多 >