1. Was ist eine Variable? (Die Speicherbox-Analogie) 📦
Programme müssen Zwischenergebnisse, Spielstände oder Benutzernamen speichern. Dafür nutzt man Variablen.
- Der Wert (z.B.
16oder"Mia") liegt im Karton. - Der Variablenname (z.B.
alter) ist das Etikett, das du außen auf den Karton klebst. - Mit dem Zuweisungsoperator
=legst du einen Wert in den Karton hinein!
# Wert 16 in die Box 'alter' legen: alter = 16 # Später Geburtstag feiern – Wert aktualisieren: alter = alter + 1 # Jetzt ist alter 17! print("Neues Alter:", alter)
2. Die 4 Basisdatentypen in Python 🏷️
Jeder Wert in Python gehört zu einer bestimmten Datenkategorie (einem sogenannten Datentyp):
| Datentyp | Python-Typ | Beispiele | Erklärung & Verwendung |
|---|---|---|---|
| Ganzzahl | int | 42, -7, 0, 1000 |
Zähler, Alter, Punkte im Spiel (ohne Nachkommastellen). |
| Kommazahl | float | 3.14, -0.5, 2.0 |
Preise, Messwerte, Notendurchschnitt (mit Dezimalpunkt .). |
| Text (String) | str | "Hallo", 'Python', "42" |
Namen, Nachrichten, Adressen (immer in Anführungszeichen). |
| Wahrheitswert | bool | True, False |
Logische Schalter, Bedingungen, Berechtigungen (z.B. Volljährigkeit). |
3. Typprüfung mit type() & Moderne Type Hints 🔍
Mit der eingebauten Funktion type() kannst du Python fragen, welchen Typ ein Wert hat:
print(type(42)) # <class 'int'> print(type(3.14)) # <class 'float'> print(type("Mia")) # <class 'str'> print(type(True)) # <class 'bool'>
name: str = "Alice" alter: int = 17 kontostand: float = 149.50 ist_mitglied: bool = True def ist_volljaehrig(alter: int) -> bool: return alter >= 18
4. Typumwandlung (Type Casting) 🔄
Oft müssen wir Daten von einem Typ in einen anderen umwandeln (z.B. einen Text "42" in eine echte Zahl 42, um damit rechnen zu können).
# 1. In Ganzzahl umwandeln: z1 = int("42") # 42 z2 = int(9.99) # 9 (schneidet Nachkommastellen einfach ab!) # 2. In Kommazahl umwandeln: f1 = float("3.14") # 3.14 f2 = float(10) # 10.0 # 3. In Text umwandeln: s1 = str(100) # "100" s2 = str(True) # "True" # 4. In Wahrheitswert (bool) umwandeln: b1 = bool(1) # True (Zahlen != 0 sind True) b2 = bool(0) # False b3 = bool("") # False (leerer Text ist False) b4 = bool("Hallo") # True (nicht-leerer Text ist True)
Wenn du zwei Strings mit + verbindest, werden sie aneinandergehängt (Konkatenation). Wenn du zwei Zahlen addierst, wird gerechnet:
- "10" + "20" → "1020" ❌ (Textverkettung!)
- 10 + 20 → 30 ✅ (Zahlenaddition!)
- int("10") + int("20") → 30 ✅ (Mit Casting!)
5. 📝 Deine Aufgaben in aufgabe.py
Öffne die Datei aufgabe.py und bearbeite die 4 TODOs:
💡 Lösungshinweise (Aufklappen bei Bedarf)
🔍 Tipp zu TODO 1 (Die bool vs. int Falle)
In Python erbt bool historisch von int. Wenn du isinstance(True, int) ausführst, liefert Python True! Prüfe daher immer zuerst:
if isinstance(wert, bool): return "Wahrheitswert" elif isinstance(wert, int): return "Ganzzahl"
🔍 Tipp zu TODO 3 (Kommazahlen mit f-String runden)
Mit {preis:.2f} wird eine Kommazahl auf exakt 2 Nachkommastellen formatiert:
return f"{preis_float:.2f} €"
6. 🧪 Testen im Terminal
Sobald du alle 4 Funktionen implementiert hast, führe den Unittest aus:
python3 test_aufgabe.py