好的,所以我正在尝试使用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): "))
有没有人熟悉编程游戏?请不要给我整个输出,只是告诉我有什么不对。我该怎么做才能让它发挥作用?
答案 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