Summe und Durchschnitt
Jetzt, wo du eine Liste durchgehen kannst, sehen wir uns an, wofür Schleifen am häufigsten benutzt werden. Das erste Muster addiert alles. Angenommen, du hast die Preise der Dinge in deinem Warenkorb und willst die Gesamtsumme:
preise = [120, 45, 300, 85]
gesamt = 0
for preis in preise:
gesamt += preis
print("Gesamt:", gesamt)Gesamt: 550Die Variable gesamt sammelt die Summe. Sie beginnt bei 0, weil die Summe null ist, bevor du etwas addierst. In jeder Iteration addiert gesamt += preis einen Preis: Nach der ersten Iteration ist gesamt gleich 120, dann 165, 465 und schließlich 550.
Es kommt darauf an, wo jede Zeile steht:
gesamt = 0steht vor der Schleife, damit es nur einmal ausgeführt wird. In der Schleife würde esgesamtin jeder Iteration auf 0 zurücksetzen, und am Ende enthieltegesamtnur den letzten Preis,85.print()steht nach der Schleife, nicht eingerückt, wenn die Summe vollständig ist. In der Schleife eingerückt würde es jede Zwischensumme ausgeben: 120, 165, 465, 550.
Der Durchschnitt ist die Summe geteilt durch die Anzahl der Werte, und die Anzahl der Werte ist die Länge der Liste:
durchschnitt = gesamt / len(preise)
print("Durchschnitt:", durchschnitt)Durchschnitt: 137.5Verwende len(preise) statt der Zahl 4. Wenn du der Liste einen weiteren Preis hinzufügst, stimmt der Durchschnitt weiterhin. Und denk daran, dass / immer eine Dezimalzahl ergibt: Ein Durchschnitt von 40 wird als 40.0 ausgegeben.
Die Zahlen einer Liste zu addieren ist so häufig, dass Python dafür eine Abkürzung hat, die Funktion sum():
preise = [120, 45, 300, 85]
print(sum(preise))550Warum also die Schleife lernen? Weil sie mehr kann als sum(). In einer Schleife entscheidest du, was addiert wird: mit einem if zum Beispiel nur die Preise über 100.
Noch eine Falle: Nenne deine Variable nicht sum. sum = 0 funktioniert, aber es verdeckt Pythons sum(), und ein späterer Aufruf von sum(preise) endet mit TypeError: 'int' object is not callable. Deshalb heißt die Variable hier gesamt. Dasselbe gilt für max, min, len und list.
So schreibst du es:
Anweisungen
- 1
Die Liste
lesezeit_minutenenthält, wie viele Minuten du an jedem Tag einer Woche gelesen hast. Erstelle eine Variablegesamtmit dem Wert0. Gehe dann die Liste mit einerfor-Schleife durch und addiere jeden Wert mit+=zugesamt. - 2
Gib die Summe nach der Schleife mit
print("Gesamt:", gesamt)aus. Die Ausgabe istGesamt: 280. - 3
Erstelle am Ende des Programms eine Variable
durchschnittmit dem Durchschnitt:gesamtgeteilt durch die Länge der Liste. Gib ihn alsDurchschnitt: 40.0aus.