如何开始 Python 游戏循环?
How do you start a Python game loop?
我有这个非常简单的主机游戏,我想在用户回答问题后重新开始循环,但似乎有些地方不正常。
import random
random_number = random.randrange(0, 500)
chosen_number = int(input("Please pick a number: "))
gameOn = 1
while gameOn == 1:
if chosen_number == 500 or chosen_number <= 0 :
print("Number must be below 500 and above 0.")
print(random_number)
chosen_number = int(input("Please pick a number: "))
continue
if chosen_number > random_number:
print("Too high")
chosen_number = int(input("Please pick a number: "))
elif chosen_number < random_number:
print("Too low")
chosen_number = int(input("Please pick a number: "))
else:
print("Congratulations, you guessed right. The number was " + str(chosen_number) + ".")
break
answer = input("Do you want to play again? Y/N ")
if answer == "Y" or "y" or "yes":
gameOn = 0
else:
print("Goodbye!")
当您要求再次播放时,您将 gameOn
设置为 0(因为 gameOn
需要为 1),这将退出循环,您的代码应如下所示
if answer in ("Y", "y", "yes"):
print("Starting again")
else:
print("Goodbye!")
gameOn = 0
需要进一步说明,因为您在每场比赛中都选择了一个号码,因此您也需要将其放入循环中
import random
gameOn = 1
while gameOn == 1:
random_number = random.randrange(0, 500)
chosen_number = int(input("Please pick a number: "))
if chosen_number == 500 or chosen_number <= 0 :
print("Number must be below 500 and above 0.")
print(random_number)
chosen_number = int(input("Please pick a number: "))
continue
if chosen_number > random_number:
print("Too high")
chosen_number = int(input("Please pick a number: "))
elif chosen_number < random_number:
print("Too low")
chosen_number = int(input("Please pick a number: "))
else:
print("Congratulations, you guessed right. The number was " + str(chosen_number) + ".")
break
answer = input("Do you want to play again? Y/N ")
if answer in ("Y", "y", "yes"):
print("Starting again")
else:
print("Goodbye!")
gameOn = 0
如果您不更改任何变量,循环将自动重新启动。所以我会将您的 if else 语句更改为 if 语句:
if answer.lower() != "y" or answer.lower() != "yes":
break
但是为了让游戏重新运行正确并更改随机数变量,您需要重新执行整个程序,您可以通过将程序放入函数中然后将函数和该循环中的 if 语句,例如:
import random
def runGame():
random_number = random.randrange(0, 500)
chosen_number = int(input("Please pick a number: "))
running = True
while running:
if chosen_number == 500 or chosen_number <= 0 :
print("Number must be below 500 and above 0.")
print(random_number)
chosen_number = int(input("Please pick a number: "))
continue
if chosen_number > random_number:
print("Too high")
chosen_number = int(input("Please pick a number: "))
elif chosen_number < random_number:
print("Too low")
chosen_number = int(input("Please pick a number: "))
else:
print("Congratulations, you guessed right. The number was " + str(chosen_number) + ".")
break
while gameOn == 1:
runGame()
answer = input("Do you want to play again? Y/N ")
if answer.lower() != "y" or answer.lower() != "yes":
gameOn = 0
你可以做一件简单的事情,只需将整个代码放在一个函数中,当你想重新启动时只需调用该函数
看下面的代码:
import random
def game():
random_number = random.randrange(0, 500)
chosen_number = int(input("Please pick a number: "))
while True:
if chosen_number == 500 or chosen_number <= 0 :
print("Number must be below 500 and above 0.")
print(random_number)
chosen_number = int(input("Please pick a number: "))
continue
if chosen_number > random_number:
print("Too high")
chosen_number = int(input("Please pick a number: "))
elif chosen_number < random_number:
print("Too low")
chosen_number = int(input("Please pick a number: "))
else:
print("Congratulations, you guessed right. The number was " + str(chosen_number) + ".")
break
answer = input("Do you want to play again? Y/N ")
if answer.lower() == "y" or "yes": # Lower() is used for changing the whole string to lowercase
game()
else:
print("Goodbye!")
我有这个非常简单的主机游戏,我想在用户回答问题后重新开始循环,但似乎有些地方不正常。
import random
random_number = random.randrange(0, 500)
chosen_number = int(input("Please pick a number: "))
gameOn = 1
while gameOn == 1:
if chosen_number == 500 or chosen_number <= 0 :
print("Number must be below 500 and above 0.")
print(random_number)
chosen_number = int(input("Please pick a number: "))
continue
if chosen_number > random_number:
print("Too high")
chosen_number = int(input("Please pick a number: "))
elif chosen_number < random_number:
print("Too low")
chosen_number = int(input("Please pick a number: "))
else:
print("Congratulations, you guessed right. The number was " + str(chosen_number) + ".")
break
answer = input("Do you want to play again? Y/N ")
if answer == "Y" or "y" or "yes":
gameOn = 0
else:
print("Goodbye!")
当您要求再次播放时,您将 gameOn
设置为 0(因为 gameOn
需要为 1),这将退出循环,您的代码应如下所示
if answer in ("Y", "y", "yes"):
print("Starting again")
else:
print("Goodbye!")
gameOn = 0
需要进一步说明,因为您在每场比赛中都选择了一个号码,因此您也需要将其放入循环中
import random
gameOn = 1
while gameOn == 1:
random_number = random.randrange(0, 500)
chosen_number = int(input("Please pick a number: "))
if chosen_number == 500 or chosen_number <= 0 :
print("Number must be below 500 and above 0.")
print(random_number)
chosen_number = int(input("Please pick a number: "))
continue
if chosen_number > random_number:
print("Too high")
chosen_number = int(input("Please pick a number: "))
elif chosen_number < random_number:
print("Too low")
chosen_number = int(input("Please pick a number: "))
else:
print("Congratulations, you guessed right. The number was " + str(chosen_number) + ".")
break
answer = input("Do you want to play again? Y/N ")
if answer in ("Y", "y", "yes"):
print("Starting again")
else:
print("Goodbye!")
gameOn = 0
如果您不更改任何变量,循环将自动重新启动。所以我会将您的 if else 语句更改为 if 语句:
if answer.lower() != "y" or answer.lower() != "yes":
break
但是为了让游戏重新运行正确并更改随机数变量,您需要重新执行整个程序,您可以通过将程序放入函数中然后将函数和该循环中的 if 语句,例如:
import random
def runGame():
random_number = random.randrange(0, 500)
chosen_number = int(input("Please pick a number: "))
running = True
while running:
if chosen_number == 500 or chosen_number <= 0 :
print("Number must be below 500 and above 0.")
print(random_number)
chosen_number = int(input("Please pick a number: "))
continue
if chosen_number > random_number:
print("Too high")
chosen_number = int(input("Please pick a number: "))
elif chosen_number < random_number:
print("Too low")
chosen_number = int(input("Please pick a number: "))
else:
print("Congratulations, you guessed right. The number was " + str(chosen_number) + ".")
break
while gameOn == 1:
runGame()
answer = input("Do you want to play again? Y/N ")
if answer.lower() != "y" or answer.lower() != "yes":
gameOn = 0
你可以做一件简单的事情,只需将整个代码放在一个函数中,当你想重新启动时只需调用该函数
看下面的代码:
import random
def game():
random_number = random.randrange(0, 500)
chosen_number = int(input("Please pick a number: "))
while True:
if chosen_number == 500 or chosen_number <= 0 :
print("Number must be below 500 and above 0.")
print(random_number)
chosen_number = int(input("Please pick a number: "))
continue
if chosen_number > random_number:
print("Too high")
chosen_number = int(input("Please pick a number: "))
elif chosen_number < random_number:
print("Too low")
chosen_number = int(input("Please pick a number: "))
else:
print("Congratulations, you guessed right. The number was " + str(chosen_number) + ".")
break
answer = input("Do you want to play again? Y/N ")
if answer.lower() == "y" or "yes": # Lower() is used for changing the whole string to lowercase
game()
else:
print("Goodbye!")