Мое заявление while звучит странно, и я не уверен, что не так
Мой код не работает, и я не уверен, что происходит. Проблема в том, что когда я в первый раз ввожу "Y", он по-прежнему говорит: "Пожалуйста, введите верный ввод", и мне нужно повторно ввести его еще раз, чтобы он работал.
if getoutofbed == "y":
outofbed = 1
print("You chose to get out of bed.")
elif getoutofbed == "n":
outofbed = 2
print("Your mom disregards your choice and screams at you to get out of bed. Listening to your mother, you step off the ledge of your resting place.")
print(" .@@@@,")
print(" aa`@@@,",name.upper(),"I DONT CARE IF YOU DONT WANNA GET UP!")
print(" = `@@@ GET UP!")
print(" )_/`@'")
print(" / || @")
print(" | || @")
print(" /~|| `")
print(" /__W_/")
print(" |||")
print(" _|||")
print(" ((___)")
print("")
print("")
while outofbed != 1 or 2:
print("Please enter a valid input.")
print("")
print("")
getoutofbed = input("Choose to get out of bed? Y/N").lower()
print("")
print("")
if getoutofbed == "y":
print("You chose to get out of bed.")
break
elif getoutofbed == "n":
print(" .@@@@,")
print(" aa`@@@,",name.upper(),"I DONT CARE IF YOU DONT WANNA GET UP!")
print(" = `@@@ GET UP!")
print(" )_/`@'")
print(" / || @")
print(" | || @")
print(" /~|| `")
print(" /__W_/")
print(" |||")
print(" _|||")
print(" ((___)")
break
1 ответ
Вы должны изменить свой оператор while.
Даже когда outofbed != 1
оценивает False
, 2
будет оценивать True
потому что это "правдивая" ценность. Измените это на это:
while outofbed != 1 and outofbed != 2:
Надеюсь это поможет