Eine kleine Hintergrundgeschichte: Ich muss einen Code in Python machen, der dem Benutzer hilft, ihr Telefon für ein Schulprojekt zu beheben. Der Benutzer muss die Fragen, die das Programm anfragt, nur mit "Ja" oder "Nein" beantworten.Unendliche While-Schleife Python
Das Problem, das ich habe ist, dass die Eingabe einer anderen als "Ja" oder "Nein" verursacht die Schleife Schleife unendlich, anstatt nur einmal anzuzeigen und weiter zur nächsten Frage, sobald der Benutzer 'Ja' oder Nein'.
Der Code ist noch nicht fertig, weshalb es so aussehen kann, als ob einige Ratschläge/Fragen fehlen.
EDIT: Der Code funktioniert jetzt richtig! Danke für deine Antworten, Jungs! Sie waren sehr hilfreich!
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.")
Sie ändern nie den Wert von 'phoneFault', so dass sich die While-Bedingung niemals ändert. Versuchen Sie, nach der while einen weiteren phoneFault = raw_input ("Is ...") hinzuzufügen. – dave