猿问

总猜测计数未更新

我是编码初学者,我正在学习 python 并决定制作一个随机数猜测游戏。一切都很顺利,但我想添加一个猜测计数器,我不确定为什么总数不会更新。


def random_num():

    guess = int(input("Guess the number, it is between 1-100: "))

    total = 0

    if guess > random_number:

        print("\nLower")

        total += 1

        random_num()

    elif guess < random_number:

        print("\nHigher")

        total += 1

        random_num()

    elif guess == random_number:

        print("\nYou win")

        print("You took " + str(total) + " guesses to get the correct number.")

总输出为 0,但这是不正确的。


青春有我
浏览 135回答 2
2回答

浮云间

问题是每次调用random_num 时总是声明total 等于0。您需要找到一种方法来保存 total 的值。提示:将其用作全局变量。更好的解决方案是将 total 作为值传递给参数。

不负相思意

import randomnum = random.randint(1, 12)user = int(input('Please enter a number from 1 to 100:&nbsp; '))counter = 1while user != num:&nbsp; &nbsp; if user > num:&nbsp; &nbsp; &nbsp; &nbsp; print('Too high!')&nbsp; &nbsp; &nbsp; &nbsp; counter += 1&nbsp; &nbsp; else:&nbsp; &nbsp; &nbsp; &nbsp; print('Too low!')&nbsp; &nbsp; &nbsp; &nbsp; counter += 1&nbsp; &nbsp; user = int(input('Please try again:&nbsp; '))print('You got it! The number is ' + str(num) + ' and it took you ' + str(counter) + ' tries.')&nbsp;这是您想要的简单方法。注意计数器在 while 循环和 if-else 语句中的工作方式。我们已经知道用户至少会进行一次猜测,所以counter = 1. 每次用户出错时,只发生在 if-else 语句中,我们使用counter += 1. 使用 While 语句可确保我们仅在用户错误时才添加到计数器中。
随时随地看视频慕课网APP

相关分类

Python
我要回答