Listen in Python
|
Bei einer Klassenarbeit wurde folgende Notenverteilung erreicht:
Entwickele ein Python-Programm, das die Durchschnittsnote berechnet. |
1. Erster Ansatz: Einzelne Variablen
Ein erster Versuch könnte so aussehen:
note1_anzahl = 3
note2_anzahl = 6
note3_anzahl = 7
note4_anzahl = 3
note5_anzahl = 2
note6_anzahl = 0
summe = (1 * note1_anzahl +
2 * note2_anzahl +
3 * note3_anzahl +
4 * note4_anzahl +
5 * note5_anzahl +
6 * note6_anzahl)
anzahl_schueler = (note1_anzahl + note2_anzahl +
note3_anzahl + note4_anzahl +
note5_anzahl + note6_anzahl)
durchschnitt = summe / anzahl_schueler
print(f"Durchschnittsnote: {durchschnitt}")
Dieser Ansatz hat mehrere Nachteile:
- Viele einzelne Variablen müssen verwaltet werden
- Der Code ist lang und unübersichtlich
- Änderungen sind aufwändig (z.B. wenn wir mehr Noten hätten)
- Wiederholungen im Code (nicht DRY - Don't Repeat Yourself)
- Schwer zu erweitern (z.B. für weitere statistische Berechnungen)
Mit Listen können wir das Problem viel eleganter lösen:
noten_anzahl = [3, 6, 7, 3, 2, 0] # Liste mit der Anzahl der Schüler pro Note
# Berechnung der Summe aller Noten
summe = 0
for note in range(6):
# note läuft von 0 bis 5
summe += (note + 1) * noten_anzahl[note]
# Berechnung der Gesamtanzahl der Schüler
anzahl_schueler = sum(noten_anzahl)
# Berechnung des Durchschnitts
durchschnitt = summe / anzahl_schueler
print(f"Durchschnittsnote: {durchschnitt}")
Listen in Python
Eine Liste ist eine geordnete Sammlung von Elementen in Python. Sie:
- kann beliebig viele Elemente enthalten
- wird durch eckige Klammern [ ] definiert
- kann Elemente verschiedener Datentypen enthalten, die durch Kommata getrennt sind
- ist veränderbar (mutable)
- ermöglicht den Zugriff auf Elemente über einen Index (beginnend bei 0)
Beispiel: noten = [1, 2, 3, 4, 5]
Vorteile von Listen
Die Verwendung von Listen bietet viele Vorteile:
- Alle zusammengehörigen Daten sind in einer Variablen gespeichert
- Der Code ist kürzer und übersichtlicher
- Wir können mit Schleifen über die Daten iterieren
- Einfache Erweiterbarkeit (z.B. für mehr Noten)
- Viele eingebaute Funktionen für Listen (sum, len, max, min, ...)
© 2023 Net-Schulbuch.de