Einführung in eine objektorientierte Programmiersprache – Python

Sitzung 2 – TandemLab, f-Strings, Datentypen, Eingabe & Debugging

Wintersemester 2026/27 · Informatik · MBM

PH Weingarten

Übersicht

  • Organisatorisches: Rückblick und Ablauf
  • KI-TandemLab: Zahlen, Text – und ein Fehler
  • Input: f-Strings, Datentypen, input()
  • Einrücken und Debugging: Fehlermeldungen lesen
  • Los geht’s: Übungen 6–8
  • Sitzungsreflexion

Rückblick: Sitzung 1

Terminal & Kursordner

cd, ls, mkdir – Ordner oop26

Python 3.13

Installiert und im Terminal getestet

VS Code

Code schreiben, speichern, ausführen

print() & Kommentare

Das erste eigene Programm

Zahlen und Rechnen

Ganze Zahlen, Kommazahlen, Grundrechenarten

Strings und Variablen

Text speichern, verbinden, überschreiben

Ablauf heute

Organisatorisches5 min
→
TandemLab30 min
→
Input25 min
→
Üben: Übung 6–825 min
→
Reflexion5 min

Danke für Ihr Feedback!

Verständlichkeit und Gesamteindruck: sehr gut. Tempo: passt. Interaktivität: eher zu wenig.

Deshalb heute

  • Start mit dem TandemLab: zu zweit erklären und knobeln
  • Mehr Zeit zum Üben in der Sitzung

Das KI-TandemLab

Ein Werkzeug auf franke-lab.de: gemeinsam lernen, mit KI als Hilfe

Lernen im Tandem

Sie arbeiten zu zweit. Die Tandems werden zufällig gebildet.

Zwei Puzzleteile

Gruppe A und Gruppe B bekommen unterschiedlichen Code. Erst zusammen lösen Sie die gemeinsame Aufgabe.

KI als Lernhilfe

Sie klären Fragen mit einem KI-Tool Ihrer Wahl – und prüfen die Antworten, indem Sie den Code ausführen.

Feste Phasen

Die Lehrkraft startet die Phasen, ein Timer läuft für alle sichtbar mit.

So läuft eine Runde

1 · BeitretenLink oder QR-Code, Name und Passwort eingeben
→
2 · WarteraumWarten, bis alle da sind
→
3 · ArbeitsphaseAllein: Code vorhersagen, ausführen, mit KI erklären
→
4 · TandemphaseZu zweit: gegenseitig erklären, dann gemeinsam einen Fehler lösen

Sie brauchen

  • Laptop mit VS Code und Python 3.13
  • ein KI-Tool in einem zweiten Tab

Erst vermuten, dann ausführen

Schreiben Sie auf, was der Code ausgibt – bevor Sie ihn starten. Der Unterschied ist das Spannende.

Jetzt beitreten

Passwort

oop

Vor Ort oder per Zoom

Es gibt je eine eigene Sitzung „OOP26_2“. Bitte wählen Sie die passende aus.

Runde: Zahlen, Text – und ein Fehler

Alles aus den Übungen 3–5 – neu ist nur eine Kleinigkeit am Ende

Gruppe A · Zahlen und Rechnen

Was gibt der Code aus? Ganze Zahl oder Kommazahl? Was rechnet Python zuerst?

Gruppe B · Text und Variablen

Was gibt der Code aus? Wozu das Leerzeichen? Was passiert beim Überschreiben?

Gemeinsame Aufgabe im Tandem

Erklären Sie sich gegenseitig Ihren Code. Dann führen Sie zusammen ein Programm aus, das mit einem Fehler abbricht. Finden Sie heraus, warum – Sie brauchen dafür beide Teile. Reparieren Sie es und fragen Sie die KI: „Wie geht das mit einem f-String?“

Arbeitsphase 10 minTandemphase 10 min

Input: Der Fehler aus dem TandemLab

Die letzte Zeile der Fehlermeldung verrät, was nicht passt

name = "Ada"
alter = 36
print("Ich heiße " + name + " und bin " + alter + " Jahre alt.")
Traceback (most recent call last):
  File "fehler.py", line 3, in <module>
    print("Ich heiße " + name + " und bin " + alter + " Jahre alt.")
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
TypeError: can only concatenate str (not "int") to str

Was ist passiert?

+ verbindet nur Text mit Text. alter ist aber eine Zahl – Python mischt das nicht von selbst.

Eine Reparatur

str(alter) macht aus der Zahl einen Text: "Ich bin " + str(alter) + " Jahre alt."

Einfacher: f-Strings

Das f steht für „formatiert“

name = "Ada"
alter = 36
print(f"Ich heiße {name} und bin {alter} Jahre alt.")
Ich heiße Ada und bin 36 Jahre alt.
preis = 2.5
anzahl = 4
print(f"{anzahl} Brezeln kosten {preis * anzahl} Euro.")
4 Brezeln kosten 10.0 Euro.

So geht’s

  • ein f direkt vor das Anführungszeichen
  • Variablen in { } schreiben
  • Python setzt den Wert ein – Zahl oder Text

Sogar rechnen

In den Klammern darf auch eine Rechnung stehen.

Kein +, kein str()

Weniger Anführungszeichen, weniger Fehler.

Mehrzeilige f-Strings

name = "Ada"
anzahl = 4
print(f"""
Name: {name}
Anzahl: {anzahl}
""")
Name: Ada
Anzahl: 4

Drei Anführungszeichen

Kennen Sie aus Übung 5: """ erlaubt Text über mehrere Zeilen.

Plus ein f

Mit f""" funktionieren die Platzhalter { } auch hier.

Gut für

Steckbriefe, Quittungen, kleine Berichte

Datentypen: int, float, str

Mit type() fragen Sie Python, welcher Typ es ist

int – ganze Zahl

alter = 36
anzahl = -4

float – Kommazahl

preis = 2.5
Achtung: Punkt statt Komma!

str – Text (String)

name = "Ada"
immer in Anführungszeichen

print(type(36), type(2.5), type("Ada"))
<class 'int'> <class 'float'> <class 'str'>
Jeder Wert hat einen Datentyp. Er bestimmt, was Python damit machen kann – zum Beispiel, was + bedeutet.

Gleiches Zeichen, andere Wirkung

Was + macht, hängt vom Datentyp ab

AusdruckErgebnisWarum?
10 + 313zwei Zahlen: addieren
"10" + "3""103"zwei Texte: verbinden
10 + "3"TypeErrorZahl und Text: Fehler
Genau das ist im TandemLab passiert: Gruppe A hatte Zahlen, Gruppe B Text – und + weiß nicht, was es tun soll.

Eingaben mit input()

Das Gegenstück zu print(): Daten kommen ins Programm

name = input("Wie heißen Sie? ")
print(f"Willkommen, {name}!")
Wie heißen Sie? Ada
Willkommen, Ada!

Das Programm wartet

input() hält an, bis jemand etwas eintippt und Enter drückt.

Der Text in den Klammern

ist die Frage an die Nutzerin oder den Nutzer – höflich und klar formulieren.

Die Antwort speichern

Was eingetippt wird, landet in der Variablen links vom =.

Achtung: input() liefert immer Text

zahl = input("Zahl: ")
print(zahl + zahl)
Zahl: 5
55
zahl = int(input("Zahl: "))
print(zahl + zahl)
Zahl: 5
10

Warum 55?

Die Eingabe 5 ist der Text "5". Text plus Text wird verbunden.

Umwandeln

  • int(…) macht daraus eine ganze Zahl
  • float(…) eine Kommazahl

Und bei „drei“?

int("drei") ergibt einen ValueError – probieren Sie es aus.

Einrücken: Leerzeichen haben Bedeutung

name = "Fred"
    print(name)
  File "einruecken.py", line 2
    print(name)
IndentationError: unexpected indent

Einrücken zeigt Struktur

Python nutzt keine Klammern für Blöcke, sondern Einrückungen. Später bei if und Schleifen ist das entscheidend.

Bis dahin gilt

Jede Zeile beginnt ganz links – ohne Leerzeichen davor.

In VS Code

Die Tab-Taste rückt um 4 Leerzeichen ein, Umschalt+Tab wieder zurück.

Debugging: Fehlermeldungen lesen

Fehler sind normal – die Meldung verrät meist schon die Lösung

Traceback (most recent call last):
  File "hallo.py", line 2, in <module>
    print(name)
          ^^^^
NameError: name 'name' is not defined
  1. Ganz unten lesen: Art des Fehlers und Beschreibung
  2. Zeilennummer suchen: Wo ist es passiert?
  3. Die Markierung ^^^ zeigt auf die Stelle
FehlerTypische Ursache
SyntaxErrorKlammer oder Anführungszeichen vergessen
NameErrorTippfehler im Variablennamen
TypeErrorZahl und Text gemischt
ValueErrorText lässt sich nicht in eine Zahl umwandeln
IndentationErrorfalsch eingerückt

Debugging: So gehen Sie vor

Rot unterstrichen

VS Code markiert viele Fehler schon beim Tippen. Mit der Maus darüber sehen Sie den Hinweis.

Mit print() nachsehen

Geben Sie Zwischenwerte aus: print(type(zahl), zahl) zeigt, was wirklich in der Variablen steckt.

Schritt für Schritt

Nur eine Sache ändern, dann neu ausführen. So sehen Sie, was geholfen hat.

KI gezielt fragen

Code und vollständige Fehlermeldung einfügen, dazu: Was sollte passieren? Bitten Sie um eine Erklärung, nicht nur um die Lösung.

Spickzettel: Terminal

Die wichtigsten Befehle aus Übung 0 auf einen Blick

Windows (PowerShell)macOS (Terminal)Wozu?
pwdpwdWo bin ich gerade?
lslsInhalt des Ordners anzeigen
cd oop26cd oop26In einen Ordner wechseln
cd ..cd ..Eine Ebene nach oben
mkdir uebungenmkdir uebungenNeuen Ordner anlegen
python datei.pypython3 datei.pyPython-Programm ausführen
Tipp: Mit Tab ergänzt das Terminal Ordner- und Dateinamen, mit Pfeil nach oben holen Sie den letzten Befehl zurück.

Los geht’s!

Übungen 6–8 auf franke-lab.de – jeweils mit Lösungen zum Aufklappen

Übung 6

Datentypen und f-Strings

Übung 7

Eingaben mit input()

Übung 8

Debugging: Fehler finden und beheben

Noch nicht fertig mit Übung 0–5? Dann zuerst dort weitermachen. Lösungen stehen jeweils zum Aufklappen dabei: erst selbst versuchen!

Fragen?


Sitzungsreflexion

Reflexion zu Sitzung 2

Programme & Erkenntnisse festhalten → HTML kopieren → in Mahara einfügen

QR-Code Reflexion Sitzung 2

To Do's:

  • Übungen 6–8 abschließen
  • Ergebnis aus dem TandemLab in Mahara festhalten
  • Reflexion zu Sitzung 2 einfügen