Немного предыстории: мне нужно сделать код на Python, который помогает пользователю устранить неисправность своего телефона для школьного проекта. Пользователь должен отвечать только «да» или «нет» на вопросы, заданные программой.Бесконечный цикл while Python
Проблема, с которой я сталкиваюсь, заключается в том, что ввод чего-то другого, кроме «Да» или «Нет», вызывает цикл while, который должен бесконечно циклироваться, а не показывать только один раз и перейти к следующему вопросу после того, как пользователь наберет «Да», или «Нет».
Код еще не закончен, поэтому может показаться, что некоторые из советов/вопросов отсутствуют.
EDIT: код функционирует правильно! Спасибо за ваши ответы, ребята! Они были действительно полезны!
phoneFault = raw_input("Is your phone physically damaged?")
while phoneFault != "Yes" and phoneFault != "No":
print("Error; you can only answer 'Yes' or 'No' to the questions.")
if phoneFault == "Yes" or phoneFault == "yes":
phoneFault = raw_input("Is your phone wet?")
if phoneFault == "Yes" or phoneFault == "yes":
phoneFault = raw_input("Are you able to turn it off?")
if phoneFault == "Yes" or phoneFault == "yes":
print("Send the phone to the manufacturer and ask if they can fix it.")
elif phoneFault == "No" or phoneFault == "no":
print("Dry the phone, and then wait for the phone to run out of power and then restart it.")
Вы никогда не изменяете значение 'phoneFault', поэтому условие while никогда не изменяется. Попробуйте добавить еще один phoneFault = raw_input («Is ...») после этого. – dave