为了账号安全,请及时绑定邮箱和手机立即绑定

总猜测计数未更新

总猜测计数未更新

青春有我 2021-12-29 18:31:10
我是编码初学者,我正在学习 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,但这是不正确的。
查看完整描述

2 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

问题是每次调用random_num 时总是声明total 等于0。

您需要找到一种方法来保存 total 的值。

提示:将其用作全局变量。更好的解决方案是将 total 作为值传递给参数。


查看完整回答
反对 回复 2021-12-29
?
不负相思意

TA贡献1777条经验 获得超10个赞

import random



num = random.randint(1, 12)


user = int(input('Please enter a number from 1 to 100:  '))


counter = 1

while user != num:

    if user > num:

        print('Too high!')

        counter += 1

    else:

        print('Too low!')

        counter += 1

    user = int(input('Please try again:  '))


print('You got it! The number is ' + str(num) + ' and it took you ' + str(counter) + ' tries.') 

这是您想要的简单方法。注意计数器在 while 循环和 if-else 语句中的工作方式。我们已经知道用户至少会进行一次猜测,所以counter = 1. 每次用户出错时,只发生在 if-else 语句中,我们使用counter += 1. 使用 While 语句可确保我们仅在用户错误时才添加到计数器中。


查看完整回答
反对 回复 2021-12-29
  • 2 回答
  • 0 关注
  • 134 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信