ich Ihren Code für Sie festgelegt haben. Für zukünftige Fragen, bitte posten Sie Ihren Code direkt in Ihre Frage und einrücken Sie alles um 4 Leerzeichen, um es richtig zu formatieren.
addition_integer = 0
divison_integer = 0
while True:
test = int(input("Enter test score: "))
if test == 0:
break
else:
addition_integer += test
divison_integer += 1
print("The average is {}%".format(addition_integer/divison_integer))
Hier ist eine Erklärung dessen, was ich tat, um dies zu beheben:
Sie wurden Looping while True
, was richtig ist, aber Sie hatte keine Möglichkeit aus der while-Schleife zu brechen. Ihre Zeile, die if test == '0'
sagt, würde nie zu true auflösen, weil Sie die Eingabe als int
vom Benutzer nehmen, nicht zu erwähnen, dass es fehl am Platz war und keine korrekte Syntax hatte. Was ich in dem Code oben mache, wird fortgesetzt Schleife, bis die Eingabe vom Benutzer gleich 0
(eine ganze Zahl, keine Zeichenfolge) ist. Wenn der Benutzer 0
eingibt, brechen wir einfach aus der Schleife aus und drucken den Durchschnitt. Bis dahin fahren wir fort, um die Eingabe zu addition_integer
und erhöhen division_integer
von 1.
Alles in allem hinzufügen, Sie waren ziemlich nah an der Lösung, die Sie gerade ein paar Syntaxänderungen benötigt und in die richtige Richtung gelenkt werden, wie zum wie man aus einer Endlosschleife ausbrechen kann.
Schließlich, hier ist ein Test, um die Zahlen, die Sie in Ihrer Frage zur Verfügung gestellt haben:
Enter test score: 80
Enter test score: 70
Enter test score: 90
Enter test score: 88
Enter test score: 0
The average is 82%
'wenn Test ==‚0'' ist keine gültige Linie auf seine eigene. Was willst du dort machen? – Harrison
Bitte poste keinen Screenshot deines Codes. Kopieren Sie den Code in Ihre Frage und verwenden Sie die Formatierungswerkzeuge. Bitte fügen Sie auch die * genaue * Fehlermeldung, wo der Syntaxfehler passiert – idjaw
Ich sehe nicht, wie Sie die Endlosschleife beenden oder warum Sie erwarten, eine ganze Zahl im Vergleich zu einer Zeichenfolge zu überprüfen –