Python猜测游戏错误?

时间:2017-11-15 22:39:30

标签: 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

1 个答案:

答案 0 :(得分:1)

问题是你在&#34; checkInput&#34;中生成了随机数。每次按下&#34;检查&#34;将被调用和更改的功能按钮。你应该做的是在&#34; checkInput&#34;之外生成一次随机数。函数,例如查看以下代码:

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()

它基本上是你自己的代码,只有一个小的改动,即生成随机数的行现在已经移出&#34; checkInput&#34;功能

祝你好运......