【发布时间】:2016-06-21 20:28:16
【问题描述】:
所以我正在开发一个猜数字游戏,其中一个要求是更新数字的“范围”,以便用户更轻松地进行猜数字。当数字太高或太低时,我创建了一个新输入。但是,我对循环不是很好,我无法弄清楚为什么我的循环只重复一次而没有一遍又一遍地粘贴代码。谁能帮忙,这样 elif 语句会重复,直到数字正确?
这是我迄今为止的代码...
import random
random_number = random.randint(1,100)
tries = 0
while tries < 800:
guess = input("Guess a random number between 1 and 100.")
tries += 1
try:
guess_num = int(guess)
except:
print("That's not a whole number!")
break
if not guess_num > 0 or not guess_num < 101:
print("That number is not between 1 and 100.")
break
elif guess_num == random_number:
print("Congratulations! You are correct!")
print("It took you {} tries.".format(tries))
break
elif guess_num > random_number:
print("Sorry that number is too high.")
guess_high = input("Guess a number between 0 and {} .".format(guess_num))
elif guess_num < random_number:
print("Sorry that number is too low.")
guess_low = input("Guess a number between {} and 100 .".format(guess_num))
else:
print("Sorry, but my number was {}".format(random_number))
print("You are out of tries. Better luck next time.")
【问题讨论】:
-
您没有更新实际范围,而只是打印出来
-
那么我该如何更新范围以缩小用户输入的范围?
-
除非答案正确,否则不应中断。删除所有其他出现的
break -
我上传的代码每次都会更新范围,对您的代码也进行了少量修改。
标签: python loops input while-loop