Skip to main content
 首页 » 编程设计

python之如何在猜谜游戏中创建猜测计数器

2025年05月04日15jyk

我正在尝试制作一个数字猜谜游戏,当您猜对数字时,它会告诉您猜了多少次。

我已经尝试了几个循环,但无法弄清楚如何让我的“猜测”增加。

import random 
 
rand_num = random.randrange(1,201) 
 
 
def guess_game(): 
 
    guess = int(input("Please enter your guess: ")) 
    guesses = 1 
    if guess == rand_num: 
        print("Hit!\nIt took you " + str(guesses) + " guesses!") 
    elif guess < rand_num: 
        print("Your guess is too low.") 
        guesses = guesses + 1 
        guess_game() 
    else: 
        print("Your guess is too high") 
        guesses = guesses + 1 
        guess_game() 
 
guess_game() 

例如,期望的输出应该是这样的:

"Hit! It took you 5 guesses" 

但无论尝试了多少次,它都只会说 1 次猜测。

请您参考如下方法:

您的代码不起作用,因为您在每次猜测后不断调用 guess_game(),有效地在每次猜测后开始新游戏。

当用户最终猜对时,总是在那个新游戏中猜测 1 次之后,然后所有游戏立即结束,但在任何这些游戏中,代码永远不会到达打印数字的那一行.

有很多不同的方法来解决这个问题,但这里的主要问题是(像许多新程序员一样)你没有意识到调用一个函数不只是让程序跳转到你的新代码,它创建了一个完整的程序工作的新空间(对函数的每次调用都有自己的“范围”)并在函数完成后从该空间返回,在大多数情况下之前的范围不变。