[[.:start|zurück]]
# Python Teil 1: Variablen, Eingabe, Bedingungen, Fehler abfangen
* **Ziel:**
Dieses Kapitel erklärt die Grundlagen so, dass man sie **nachbauen** und **verstehen** kann – auch ohne Vorkenntnisse.
Beispiel-Programme laufen in **Thonny** und **VS Code**.
---
### 1. Was ist ein Python-Programm?
Ein Python-Programm ist eine Textdatei mit Endung `.py`, z. B. `01_basics.py`.
Python liest die Datei **von oben nach unten** und führt die Befehle aus.
**Merke:** Reihenfolge ist wichtig.
---
### 2. Variablen: Werte speichern
Eine Variable ist wie ein beschrifteter Zettel, auf dem ein Wert steht.
name = "Max Mustermann"
rolle = "Musterschueler"
* **Links** steht der **Name der Variable**
* **Rechts** steht der **Wert**
* Das **`=`** ist eine **Zuweisung** (kein mathematisches Gleichheitszeichen)
**Tipp:**\\
Variablennamen klein und ohne Leerzeichen, z. B. `name`, `rolle`, `alter`.
---
### 3. Ausgabe: Text anzeigen mit print()
print("Hallo Welt")
print("Name:", name)
`print()` zeigt etwas im Terminal an.
* `"Hallo Welt"` ist ein Text (String)
* `name` ist eine Variable
---
### 4. Eingabe: Daten abfragen mit input()
name = input("Name: ")
**`input()`** zeigt eine Frage an und wartet auf Eingabe.
**Wichtig:**\\ `input()` liefert IMMER Text (String), auch wenn man Zahlen eintippt.
Beispiel:
* Eingabe: `12`
* Ergebnis: `"12"` (Text, keine Zahl)
---
### 5. Zahlen aus Text machen: int() und float()
Wenn wir rechnen oder vergleichen wollen, brauchen wir echte Zahlen.
alter_text = input("Alter: ")
alter = int(alter_text) # ganze Zahl, z. B. 12
* `int("12")` → `12`
* `float("12.5")` → `12.5`
Wenn jemand etwas Nicht-Zahliges eintippt (`abc`), gibt es einen Fehler. Deshalb machen wir das robust.
---
### 6. Fehler abfangen: try / except
So verhindern wir Abstürze:
while True:
alter_text = input("Alter (Zahl): ")
try:
alter = int(alter_text)
break
except ValueError:
print("Bitte eine gueltige ganze Zahl eingeben, z.B. 42.")
Was passiert hier?
* while True startet eine Schleife (wiederholt sich)
* try versucht den Code auszuführen
* Wenn int(...) nicht klappt → ValueError
* except fängt den Fehler ab und gibt eine Meldung aus
* break beendet die Schleife, wenn alles okay ist
**Merke:** \\ Das ist „professionelles“ Verhalten: Fehler werden kontrolliert behandelt.
--
-
### 7. Entscheidungen treffen: if / elif / else
Damit kann Python abhängig von Bedingungen unterschiedliche Dinge tun.
if alter < 18:
print("Du bist minderjaehrig.")
elif alter < 67:
print("Du bist im Erwerbsalter.")
else:
print("Du bist im Rentenalter.")
* **`if`** = erste Prüfung
* **`elif`** = weitere Prüfung (falls `if` nicht zutrifft)
* **`else`** = sonst
**Wichtig:**\\ Einrückungen (4 Leerzeichen) sind in Python Pflicht!
---
### 8. Unser komplettes Programm (Teil 1)
Datei: `01_basics.py`
# 01_basics.py
import os
# Funktion zum Bildschirm reinigen (clear screen)
def clear_screen():
# 'nt' steht für Windows, ansonsten Linux/macOS
os.system('cls' if os.name == 'nt' else 'clear')
# Aufruf der Funktion
clear_screen()
# Variablen initialisieren und Eingabeaufforderung
name = input("Name: ")
rolle = input("Rolle: ")
ort = input("Ort: ")
# Eingabeaufforderung mit Überprüfung und Umwandlung in von String in Integer
while True:
alter_text = input("\nAlter (Zahl): ")
try:
alter = int(alter_text)
break
except ValueError:
print("Bitte eine gueltige ganze Zahl eingeben, z.B. 42.")
pause = input("\nDruecke Enter zum Fortfahren.")
# Aufruf der Funktion (Bildschirm reinigen)
clear_screen()
# print("\nHallo " + name + " aus " + ort + "!") # Alternative Ausgabeanweisung
# Ausgabe
print(f"\nHallo {name} aus {ort}!")
print("\nHier sind deine:")
print("\n" + "-" * 20)
print("ERGEBNISSE")
print("-" * 20)
print("\n--- Profil ---")
print("Name:", name)
print("Rolle:", rolle)
print("Ort:", ort)
print("\n--- Check ---")
# Vergleich (Alterseingabe) und Ausgabe
if alter < 18:
print("Du bist minderjaehrig.")
elif alter < 67:
print("Du bist im Erwerbsalter.")
else:
print("Du bist im Rentenalter.")
pause = input("\nDruecke Enter zum Beenden.")
# Alternative zum Bildschirm reinigen (ANSI Escape Codes)
print("\033[H\033[J", end="")
---
### 9. Typische Fehler (und wie man sie erkennt)
==== Fehler 1: Einrückung stimmt nicht ====
Wenn die Einrückung falsch ist, kommt oft:
IndentationError: unexpected indent
**Lösung:** 4 Leerzeichen pro Block, keine Mischung aus Tabs/Spaces.
==== Fehler 2: Zahlenvergleich ohne int() ====
alter = input("Alter: ")
if alter < 18:
...
Das ist falsch, weil `alter` ein Text ist.
**Lösung:** `alter = int(alter)`
==== Fehler 3: Programm endet sofort ====
Wenn das Terminal sofort schließt, hilft:
input("Enter zum Beenden...")
---
### 10. Mini-Übungen (zum Festigen)
==== Übung A ====
Frage zusätzlich `lieblingsfarbe` ab und gib sie im Profil aus.
==== Übung B ====
Wenn `alter` kleiner als 0 ist, gib aus: `Das Alter kann nicht negativ sein.`
==== Übung C ====
Gib eine Begrüßung aus, die alle Infos enthält, z. B.:
`Hallo Max aus Musterstadt, Rolle: Schueler..., Alter: 20`
---