Dies ist wahrscheinlich eine einfache Antwort, aber ich dachte, ich würde sowieso fragen.Python Wie man eine Schleife mit einer Benutzereingabe stoppt
Mein Code unten fragt den Benutzer nach einer Nummer und abhängig von der Antwort wird die Note gedruckt, die den Nummern entspricht.
Ich möchte die Schleife stoppen (beenden Sie das Programm), indem Sie den Benutzer eingeben (999). Ich weiß, dass das Problem in meinem if userScore >= 90" print ('A')
ist. Wenn der Benutzer die 999 eingibt, nimmt der Computer sie als A.
Gibt es eine Verknüpfung, um dies zu beheben?
(PS habe ich die Pausen zu jeder Zeile, weil, wenn sie die Ausgänge nicht da waren endlos wiederholte immer wieder.)
userScore = float(input('Enter the score or type "999" to quit: '))
while True:
try:
if userScore >= 90:
print ("You earned an A")
break
elif userScore >= 80:
print ("You earned a B")
break
elif userScore >= 70:
print ("You earned a C")
break
elif userScore >= 60:
print ("You earned a D")
break
elif userScore <= 59.9:
print ("You earned an F")
break
except:
if userScore == '999':
break
main()
Überprüfen Sie zuerst 'userScore == '999'' zuerst; gleich nach dem "Versuch". Übrigens, warum das "versuchen"? – mshsayem
'Try' wird im Allgemeinen zur Fehlerüberprüfung verwendet - ich glaube nicht, dass' try' die richtige Syntax ist, um hier zu verwenden. Fügen Sie einfach eine weitere 'if'-Anweisung vor Ihren anderen hinzu, die überprüft, ob' userScore == '999'' ist. – acer