Как завершить цикл в Python после того, как пользователь нажимает все ответы? - PullRequest
0 голосов
/ 12 ноября 2018
# loop
while True:
  inp = raw_input()
  if inp == "":pres= input("What would you like to know about me? AGE, JOKE, FACT")
  if pres in {'AGE', 'Age','age'}:
    print("I was birthed from my mother 87 years ago. Press enter to continue")
  if pres in {'JOKE','Joke','joke'}:
    print("Where do polar bears keep their money?")
    import time
    time.sleep(2)
    print("In a snow bank! Press enter to continue")
  if pres in {'FACT','Fact','fact'}:
    print("Hippopotamus's have pink spit! Press enter to continue")

# end of loop

Я пытаюсь завершить этот цикл, но использование break в конце, похоже, не работает. Я хочу, чтобы цикл завершился после того, как пользователь ввел все три параметра; возраст, шутка и факт.

Ответы [ 2 ]

0 голосов
/ 12 ноября 2018

Ваш опубликованный код ничего не сделал для отслеживания того, какие предметы были выбраны.Ваше условие цикла ничего не проверяет, когда оно должно выйти.В общем, вы хотите, чтобы ваше условие while управляло выходом из цикла;это приложение не гарантирует глубокое break.

. Я рекомендую установить три флага (логические переменные), по одному для каждого варианта.Установите соответствующий флаг, когда вы видите каждый элемент.Вот пример для заголовка цикла и добавление к одному предложению:

joke = False
age = False
fact = False

while not (joke and age and fact):
    ...
    if pres.lower() == "age":
        age = True
    ...

Можете ли вы взять его оттуда?

0 голосов
/ 12 ноября 2018

Вы можете записать состояние пользовательских запросов в наборе:

chosen = set()
while len(chosen) < 3:
    inp = raw_input()
    if inp == "":
        pres = input("What would you like to know about me? AGE, JOKE, FACT")
    if pres in {'AGE', 'Age','age'}:
        print("I was birthed from my mother 87 years ago. Press enter to continue")
        chosen.add("age")
    if pres in {'JOKE','Joke','joke'}:
        print("Where do polar bears keep their money?")
        import time
        time.sleep(2)
        print("In a snow bank! Press enter to continue")
        chosen.add("joke")
    if pres in {'FACT','Fact','fact'}:
        print("Hippopotamus's have pink spit! Press enter to continue")
        chosen.add("fact")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...