【发布时间】:2021-11-20 09:43:43
【问题描述】:
我正在开发一个 python 项目“猜那个数字”,其中计算机从给定范围内选择一些随机数,用户必须在 5 次尝试内猜出该数字。如果用户成功猜到数字,他将被重定向到下一个级别。否则,游戏结束。 当用户无法猜测该数字应该结束但在我的情况下,它再次要求相同的级别并且没有游戏结束的输出。这是我的代码:
from random import randint
level = 1
points = [100,75,50,25,10]
points_scored = 0
play = True
while play:
while level != 0:
end_value = level * 10
secret_number = randint(1,end_value)
for counter in range(0,5):
#gets the guessing number as user input
guess_number = int(input("Guess the secret number between 1 and {} ({} attempts left):".format(end_value,5-counter)))
#check guessing number is correct or higher or lower
if secret_number == guess_number:
print("Your Guess is Correct, You Won the level {} with {} points".format(level,points[counter]))
points_scored += points[counter]
level = level + 1
break
elif guess_number < secret_number:
print("Your Guess is lower than secret number")
elif guess_number > secret_number:
print("Your Guess is higher than secret number")
else:#else of for statement
print("Game Over, You Loose the Game, secret number is {} and your total scores are".format(secret_number, points[counter]))
break
else:#else of while statement
print("Congratz, You Won the Game with {} !!!".format(points_scored))
again=str(input("Do you want to play again, type yes or no "))
if again == "no":
play = False
quit()
【问题讨论】:
-
循环中没有 else 语句。您需要检查计数器是否过高,然后结束游戏
-
没有循环的 else 语句之类的东西?????
-
@LiorDahan 实际上有一个 else 循环语句(OP 应该在这里使用)
-
@LiorDahan 你错了。阅读有关
for...的文档... -
你可能在想……除了python之外的所有语言
标签: python python-3.x