Mini-Projekt: Noten-Auswertung
Die Mission
Der Code-Club bekommt eine Noten-Auswertung:
Punkte rein, Feedback raus – fair und klar.
Lily prüft die Grenzen. Luna testet 49, 50, 70, 90, 100.
Buggy stellt >= 50 ganz nach oben und wundert sich, warum niemand „Sehr gut“ sieht.
Zielbild
=== Noten-Auswertung ===
Name: Luna
Punkte: 72
Luna, du hast 72 Punkte.
Gut gemacht!
Anforderungen (Checkliste)
- Punkte per
input/int - mindestens 3 Stufen +
else - sinnvolle Reihenfolge der Grenzen (hoch zuerst)
- f-String mit Punktzahl
- Name optional erfragen
- Kommentar + Titel
- läuft ohne Fehler
Kernlogik
punkte = int(input("Wie viele Punkte hast du? "))
if punkte >= 90:
print("Sehr gut!")
elif punkte >= 70:
print("Gut gemacht!")
elif punkte >= 50:
print("Bestanden!")
else:
print("Versuche es noch einmal.")
Bau-Plan
- Titel und optional Name
- Punkte einlesen
- Feedback-Kette (hohe Hürden zuerst)
- Sonderfall 100 optional
- freundlicher Abschluss
Level-Ups
Basis
Vier Feedback-Stufen.
Besser
Name + persönlicher Satz mit f-String.
Profi
- unter 50: Tipp ausgeben
- genau 100: Sondertext (extra
ifnach der Kette oder verschachtelt)
Beispiellösung
Eine moegliche Loesung anzeigen
# Noten-Auswertung
print("=== Noten-Auswertung ===")
name = input("Name: ").strip().title()
punkte = int(input("Punkte: "))
print(f"{name}, du hast {punkte} Punkte.")
if punkte >= 90:
print("Sehr gut!")
elif punkte >= 70:
print("Gut gemacht!")
elif punkte >= 50:
print("Bestanden!")
else:
print("Versuche es noch einmal.")
print("Tipp: Uebungen aus Band 1 wiederholen.")
if punkte == 100:
print("Perfekt – voller Punktestand!")
Testfälle
| Punkte | Erwartung |
|---|---|
| 95 | Sehr gut |
| 70 | Gut gemacht |
| 50 | Bestanden |
| 49 | Noch einmal |
| 100 | Sehr gut + optional Perfekt |
Häufige Stolpersteine
| Problem | Fix |
|---|---|
>= 50 zuerst | hohe Grenzen zuerst |
| Punkte als str | int(input(...)) |
| harte Texte | freundlich bleiben |
Reflexion
- Warum
elifstatt vieler getrennterif? - Was passiert bei genau 50?
- Wie testest du die Reihenfolge?
Kapitel 9 geschafft!
Entscheidungen laufen. Als Nächstes: and / or / not für mächtigere Bedingungen.
Auswertung steht! Weiter zu den logischen Operatoren.