Zum Hauptinhalt springen

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

  1. Titel und optional Name
  2. Punkte einlesen
  3. Feedback-Kette (hohe Hürden zuerst)
  4. Sonderfall 100 optional
  5. 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 if nach 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

PunkteErwartung
95Sehr gut
70Gut gemacht
50Bestanden
49Noch einmal
100Sehr gut + optional Perfekt

Häufige Stolpersteine

ProblemFix
>= 50 zuersthohe Grenzen zuerst
Punkte als strint(input(...))
harte Textefreundlich bleiben

Reflexion

  1. Warum elif statt vieler getrennter if?
  2. Was passiert bei genau 50?
  3. 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.