如何停止循环重复?

时间:2015-10-25 00:44:58

标签: python

好的,所以我正在尝试使用python进行游戏。我问用户他输入的棒数量。

我应该包括一个条件,如果用户确实输入了10到100之间的数字,它会一遍又一遍地问他,直到他给出一个介于该数量之间的数字。但是,只要我在这样的数量之间输入数字,我的代码就会结束。

另外,我最初的问题是如何询问玩家选择相同数量后他们将采取多少支。它只是重复回到同一个问题,询问他们希望在游戏中有多少支。我最初的问题是如何进入下一部分。

print("Welcome to the game of sticks, choose wisely...")
sticks = int(input("Choose the number of sticks(10-100 ): "))

while(sticks >= 10 and sticks <= 100 ):
    print("There are %d sticks on the board." % sticks)
    sticks = int(input("Choose the number of sticks(10-100 ): "))

take = int(input("How many sticks will you take?(1-3): "))
while(take >= 1 and take <= 3):
    print(sticks - take)
    take = int(input("How many sticks will you take?(1-3): "))

有没有人熟悉编程游戏?请不要给我整个输出,只是告诉我有什么不对。我该怎么做才能让它发挥作用?

3 个答案:

答案 0 :(得分:3)

在此行中,您测试sticks是否为有效数字,以及是否保留while循环。这似乎是你的逻辑错误。当你想要反过来输入一个有效数字时,你基本上就是while循环。

#your code
while(sticks >= 10 and sticks <= 100 ):
     print("There are %d sticks on the board." % sticks)
     sticks = int(input("Choose the number of sticks(10-100 ): "))

在下面的示例中,您将测试输入是否有效以及是否输入循环。如果输入无效,则保持循环直到输入有效数字。

#updated code
while(sticks < 10 or sticks > 100 ):
    print("There are %d sticks on the board." % sticks)
    sticks = int(input("Choose the number of sticks(10-100 ): "))

答案 1 :(得分:1)

你第一次询问你想要多少支。你需要一个if语句,说明数字是否可以接受,中断,否则,再做一次。 第二个while循环询问要取出多少。它不应该重复。尝试使用if else语句

答案 2 :(得分:0)

你使用break

试试这个: https://wiki.python.org/moin/WhileLoop

例如

while(sticks >= 10 and sticks <= 100 ):
print("There are %d sticks on the board." % sticks)
sticks = int(input("Choose the number of sticks(10-100 ): "))
      break

take = int(input("How many sticks will you take?(1-3): "))
while(take >= 1 and take <= 3):
print(sticks - take)
take = int(input("How many sticks will you take?(1-3): "))
    break