Простой l oop, который зацикливается, когда опция не выбрана в Python - PullRequest
1 голос
/ 29 марта 2020

У меня проблемы с этим oop, я уже два дня учу себя, и я в затруднении. Я попытался найти ответ в Google, но это не помогло мне с этой конкретной ситуацией c.

В Python я пытаюсь предложить пользователю выбрать три варианта и l oop вопрос, если один из опций не выбран.

Мой код:

power = input("pick a super power: strength, pyrokenisis, or speed---  ")

while power == "strength" or "pyrokenisis" or "speed":

    print("nice")
    break
else:

    print("try again")

Ответы [ 2 ]

2 голосов
/ 29 марта 2020

Ваш лог c просто немного отключен. Вы забыли повторить запрос, и ваше условие неверно.

Условие:

power == "strength" or "pyrokenisis" or "speed"

проверяет, равна ли переменная мощности значению или если любая из двух других строк "правда". Это может помочь заключить в скобки:

(power == "strength") or ("pyrokenisis") or ("speed")

Вместо этого вы должны проверить:

power == "strength" or power == "pyrokenisis" or power == "speed"

или, возможно, использовать in для кортежа:

power in ("strength", "pyrokenisis", "speed")

Таким образом, ваш окончательный код может выглядеть примерно так:

while True:
    power = input("pick a super power: strength, pyrokenisis, or speed---  ")
    if power in ("strength", "pyrokenisis", "speed"):
        print("nice")
        break
    else:
        print("try again")

Обратите внимание, что я переместил подсказку внутри while l oop, чтобы пользователь мог фактически повторить попытку для каждого l oop , Оператор if также использовался для управления потоком программы.

2 голосов
/ 29 марта 2020

Поместите его на некоторое время l oop и добавьте оператор if.

while True:
  power = input("pick a super power: strength, pyrokenisis, or speed---  ")
  if power == "strength" or power == "pyrokenisis" or power == "speed":
    print("nice")
    break
  else:
    print("try again")
    continue
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...