我是编码的初学者,我正在学习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,但这是不正确的。
答案 0 :(得分:2)
问题在于,每次调用random_num时,总总是声明total等于0。
您需要找到一种方法来保存total的值。
提示:将其用作全局变量。更好的解决方案是将total作为值传递给参数。
答案 1 :(得分:0)
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语句可确保我们仅在用户错误的情况下才添加到计数器。