Sitzung 3 – Programme entscheiden: Vergleiche, if, elif, else · Mini-Projekt 1
Wintersemester 2026/27 · Informatik · MBM
TandemLab
Zahlen und Text erklärt – und gemeinsam den ersten TypeError repariert
f-Strings
f"Ich bin {alter} Jahre alt." setzt Werte direkt in Text ein
Datentypen
int, float, str – und type() verrät, was vorliegt
Eingaben
input() liefert immer Text – int() macht daraus eine Zahl
Bei Tempo und Interaktivität ist die Mitte (3) „genau richtig“
Sitzung 2 in Zahlen
Deshalb heute
Diese Liste begleitet Sie durch die Sitzung: Hier sehen Sie immer, wo wir gerade stehen
Vier Mini-Projekte im Semester
Heute geht es los
Im zweiten Block planen Sie Mini-Projekt 1 und legen Ihr erstes Repository an. Abgabe: Mi, 04.11., 12:00 Uhr.
Passwort
oop
Diese Sitzung wählen
Vor Ort: OOP26_3 — Wahr oder falsch? Programme entscheiden
Per Zoom: OOP26_3_Zoom — Wahr oder falsch? Programme entscheiden
Erst vorhersagen, dann ausführen – und dem Gegenüber erklären
Gruppe A · Vergleiche
==, !=, <, > – was ergibt print(7 > 3)?
Gruppe B · if und else
Welche Zeilen laufen – und welche nicht?
Gemeinsame Aufgabe: das Kinoprogramm
Ein Programm soll prüfen, ob jemand in einen Film ab 16 darf – es stürzt aber ab. Finden Sie zusammen den Fehler, reparieren Sie ihn und bauen Sie danach Ticketpreise ein.
Ein Programm wird erst nützlich, wenn es auf Eingaben reagiert
Bisher
Jede Zeile läuft – immer, von oben nach unten.
Ab heute
Manche Zeilen laufen nur, wenn eine Bedingung wahr ist.
Wie im Alltag
Wenn es regnet, nehme ich den Schirm. Sonst die Sonnenbrille.
| Zeichen | Bedeutung | Beispiel |
|---|---|---|
== | gleich | 5 == 5 → True |
!= | ungleich | 5 != 3 → True |
< | kleiner | 3 < 5 → True |
> | größer | 3 > 5 → False |
<= | kleiner oder gleich | 5 <= 5 → True |
>= | größer oder gleich | 4 >= 5 → False |
Neuer Datentyp: bool
Ein Vergleich ist eine Frage mit genau zwei Antworten: True oder False. Groß geschrieben!
print(7 > 3)
print(type(7 > 3))True <class 'bool'>
Der häufigste Fehler am Anfang
alter = 20 # = speichert einen Wert
print(alter == 20) # == vergleicht
print(alter == 21)True False
Ein Zeichen, zwei Bedeutungen
= speichert: „alter bekommt 20“== fragt: „Ist alter gleich 20?“= schreibt, bekommt einen SyntaxErrorDie Einrückung zeigt, welche Zeilen zur Bedingung gehören
temperatur = 25
if temperatur > 20:
print("Heute reicht ein T-Shirt.")
print("Schönen Tag!")Heute reicht ein T-Shirt. Schönen Tag!
So ist if aufgebaut
:Ausprobieren
Setzen Sie temperatur = 15. Welche Zeile bleibt übrig?
zahl = int(input("Zahl: "))
if zahl % 2 == 0:
print(f"{zahl} ist gerade.")
else:
print(f"{zahl} ist ungerade.")Zahl: 7 7 ist ungerade.
else = sonst
else: hat keine Bedingungelse steht auf derselben Höhe wie ifNeu: % (Modulo)
7 % 2 ist der Rest beim Teilen: 1. Gerade Zahlen haben den Rest 0.
elif heißt „else if“: sonst, wenn …
alter = int(input("Alter: "))
if alter < 12:
preis = 6
elif alter < 18:
preis = 8
else:
preis = 11
print(f"Ihr Ticket kostet {preis} Euro.")Alter: 15 Ihr Ticket kostet 8 Euro.
So prüft Python
else fängt alles auf, was übrig bleibtReihenfolge zählt
Stehen alter < 18 und alter < 12 vertauscht, kostet jedes Kinderticket 8 Euro. Warum?
So werden aus einfachen Fragen genaue Regeln
| Wort | wahr, wenn … | Beispiel |
|---|---|---|
and | beide Bedingungen wahr sind | alter >= 18 and hat_ticket |
or | mindestens eine wahr ist | alter < 12 or alter > 65 |
not | die Bedingung falsch ist | not hat_ticket |
alter = 25
hat_ticket = True
if alter >= 18 and hat_ticket:
print("Willkommen!")
if alter < 12 or alter > 65:
print("Ermäßigung")
else:
print("Normalpreis")Willkommen! Normalpreis
Erinnern Sie sich: input() liefert immer Text
print("5" == 5)
print(int("5") == 5)
print("10" < "9")
print(10 < 9)False True True False
Text ist keine Zahl
int(input(…))float(): int("3.5") gibt einen ValueError| Fehler | Meldung | Lösung |
|---|---|---|
if x > 3 | SyntaxError: expected ':' | Doppelpunkt ergänzen |
| Block nicht eingerückt | IndentationError: expected an indented block | 4 Leerzeichen einrücken |
if x = 3: | SyntaxError: … Maybe you meant '==' | == zum Vergleichen |
if eingabe > 18: | TypeError: '>' not supported between instances of 'str' and 'int' | int(input(…)) |
print(true) | NameError: name 'true' is not defined. Did you mean: 'True'? | True / False groß |
Python hilft mit: Lesen Sie die letzte Zeile der Meldung und die Zeilennummer.
Jetzt sind Sie dran: Aufgaben 1–3 in der Reflexion
Erst selbst programmieren, dann mit den Lösungen vergleichen
1 · Vergleiche
Ergebnisse vorhersagen, prüfen und erklären
2 · if und else
Gerade oder ungerade, bestanden oder nicht
3 · elif und and/or
Notenrechner und Eintrittspreise
In der Reflexion bearbeiten → · Lösungen: Aufgabe 1, 2, 3
Der Entwurf bleibt in Ihrem Browser gespeichert
Kurz festhalten
Teil 2 folgt am Ende der Sitzung. Erst dann HTML kopieren und in Mahara einfügen.
Gleich: 30 Minuten Pause
Zweiter Block: Ihr erstes Mini-Projekt
Die Themen 2 bis 4 legen wir rechtzeitig genauer fest
| Nr. | Thema | Wann |
|---|---|---|
| 1 | Ihr Entscheidungsspiel: Abenteuer oder Zahlenraten mit if, elif, else | heute bis 04.11. |
| 2 | Ein größeres Spiel mit Schleifen, Listen und Funktionen | nach den Schleifen |
| 3 | Ein Pygame-Spiel verstehen und erweitern | im Pygame-Teil |
| 4 | Start Ihres eigenen Schwerpunkts: Spiel oder App mit Klassen | danach |
Zehn Minuten Planung sparen eine Stunde Fehlersuche
Am Beispiel Zahlenraten
Eingabe
Der Tipp der Spielerin oder des Spielerstipp = int(input("Ihr Tipp: "))
Verarbeitung
Mit der geheimen Zahl vergleichenif tipp == geheim: … elif
Ausgabe
„Zu klein“, „zu groß“ oder „Richtig!“print("Richtig!")
Jede Raute wird im Code zu einem if oder elif
Auf Papier reicht
Zeichnen Sie zuerst, dann programmieren Sie Raute für Raute. Das Foto kommt mit ins Git.
Das einzige Neue für die Variante Zahlenraten
import random
geheim = random.randint(1, 10)
print(f"Die geheime Zahl ist {geheim}.")Die geheime Zahl ist 7.
So funktioniert es
import random holt einen Werkzeugkasten, der bei Python dabei istrandom.randint(1, 10) liefert eine ganze Zahl von 1 bis einschließlich 10Tipp zum Testen
Lassen Sie sich die geheime Zahl erst einmal ausgeben – vor der Abgabe löschen.
So arbeiten auch Profis: Pair Programming
Driver: tippt
Schreibt den Code und sagt laut, was sie oder er gerade macht.
Navigator: denkt mit
Behält den Plan im Blick, liest mit, findet Tippfehler, stellt Fragen.
Alle 10 Minuten tauschen
So programmieren beide – nicht nur, wer schneller tippt.
Beide erklären können
Bei der Vorstellung kann jede und jeder jede Zeile erklären.
KI als dritte Hilfe
Erst selbst überlegen, dann fragen – und die Antwort gemeinsam prüfen.
Als Nächstes: Ihr Repository im Git
Ein Repository ist ein Projektordner mit Gedächtnis
Was ist Git?
Eine Versionsverwaltung: Sie speichert jeden Stand Ihres Codes, und mehrere Personen können daran arbeiten.
Unser Server
git.colilab.de – ein Forgejo-Server der PH. Anmeldung mit Ihrer Adresse @stud.ph-weingarten.de.
Heute nur im Browser
Dateien per Drag & Drop hochladen. Befehle wie push und pull kommen später.
Eine Person im Tandem legt an, die andere wird Mitarbeiterin oder Mitarbeiter
oop26-miniprojekte, Haken bei „Repository initialisieren“. Privat oder öffentlich: Sie entscheidenAm besten im Tandem – allein ist auch möglich
Variante A: Abenteuer
Eine kleine Geschichte oder ein Mini-Krimi mit mindestens drei Entscheidungen: „Sie stehen vor zwei Türen …“
Variante B: Zahlenraten
Der Computer denkt sich eine Zahl. Drei Versuche mit Tipps „zu klein“ oder „zu groß“ – ganz ohne Schleife.
Was drin sein muss
input(), if/elif/else, mindestens einmal and oder or, Kommentare
Abgabe im Git
.py-Datei und Foto des Ablaufplans in oop26-miniprojekte, Link in Mahara
Bis Mi, 04.11., 12:00
In Sitzung 4 stellen einige Tandems ihr Spiel vor.
Jetzt: 10 Minuten planen, dann bauen
Planung von Mini-Projekt 1 und Feedback ergänzen → HTML kopieren → in Mahara einfügen

Icons: Lucide (ISC-Lizenz) · Abbildungen: eigene Darstellung