Skip to content

Python 101

Grundlagen der Programmierung


Was ist Python?

  • Einfache und lesbare Programmiersprache
  • Fast wie normaler englischer Text
  • Perfekt für Anfänger
  • Syntax = Rechtschreibung beim Programmieren

Dein erstes Programm

python
print("Hello, World!")

Ausführen: Speichern und F5 drücken in Thonny


Kommentare

python
# Dies ist ein Kommentar - wird ignoriert
print("Das wird ausgeführt")  # Kommentar am Zeilenende

"""
Mehrzeiliger
Kommentar
"""

Kommentare helfen dir, Notizen zu machen!


Einrückung ist wichtig

python
# Richtig ✓
if 5 > 3:
    print("Fünf ist größer")
    print("Das gehört zum if")

# Falsch ✗
if 5 > 3:
print("Fehler!")  # Keine Einrückung!

Regel: Immer 4 Leerzeichen einrücken


Code wird von oben nach unten gelesen

python
print("Erste Zeile")
print("Zweite Zeile")
print("Dritte Zeile")

Der Computer liest wie ein Buch: Zeile für Zeile


Fehler erkennen und verstehen

python
print("Hallo Welt)

Fehlermeldung:

SyntaxError: unterminated string literal
              ^

Das ^ zeigt, wo der Fehler ist - fehlendes Schlusszeichen!


Häufige Fehlertypen

  • SyntaxError: Rechtschreibfehler im Code
  • NameError: Unbekannter Name/Variable
  • IndentationError: Falsche Einrückung

Wichtig: Fehler sind normal! Lies die Fehlermeldung genau.


Turtle - Zeichnen mit Python 🐢

python
from turtle import *

forward(100)
left(90)
forward(100)
left(90)
forward(100)
left(90)
forward(100)

Zeichnet ein Quadrat!


Turtle Befehle

  • forward(zahl) - Vorwärts bewegen
  • back(zahl) - Rückwärts bewegen
  • left(zahl) / right(zahl) - Drehen
  • up() / down() - Stift heben/senken
  • color("farbe") - Farbe ändern
  • home() - Zurück zum Start

Variablen = Beschriftete Schubladen

python
name = "Anna"
alter = 16
groesse = 1.65

print(name)
print(alter)

Variablen speichern Werte für später!


Datentypen

python
# Integer (Ganzzahlen)
x = 42

# Float (Kommazahlen)
pi = 3.14

# String (Text)
name = "Max"

# Boolean (Wahr/Falsch)
ist_wahr = True

Rechnen mit Python

python
a = 10
b = 3

print(a + b)    # 13 (Addition)
print(a - b)    # 7 (Subtraktion)
print(a * b)    # 30 (Multiplikation)
print(a / b)    # 3.333... (Division)
print(a // b)   # 3 (Ganzzahl-Division)
print(a % b)    # 1 (Rest)
print(a ** b)   # 1000 (Potenz)

Vergleichen

python
x = 5
y = 10

print(x == y)   # False (gleich?)
print(x != y)   # True (ungleich?)
print(x < y)    # True (kleiner?)
print(x > y)    # False (größer?)
print(x <= y)   # True (kleiner oder gleich?)
print(x >= y)   # False (größer oder gleich?)

if - Entscheidungen treffen

python
alter = 16

if alter >= 18:
    print("Du bist volljährig")
elif alter >= 16:
    print("Du darfst Mofa fahren")
else:
    print("Du bist noch zu jung")

"Wenn dies, dann das"


Logische Operatoren

python
alter = 16
hat_fuehrerschein = False

if alter >= 18 and hat_fuehrerschein:
    print("Du darfst Auto fahren")
elif alter >= 18 or hat_fuehrerschein:
    print("Fast...")
else:
    print("Noch nicht")

and, or, not verknüpfen Bedingungen


for-Schleife - Wiederholungen

python
# Über eine Liste
fruechte = ["Apfel", "Banane", "Kirsche"]
for frucht in fruechte:
    print(frucht)

# Zahlen 0 bis 4
for i in range(5):
    print(i)

# Zahlen 2, 4, 6, 8
for i in range(2, 10, 2):
    print(i)

while-Schleife

python
zaehler = 0

while zaehler < 5:
    print(zaehler)
    zaehler += 1

print("Fertig!")

Läuft, solange Bedingung wahr ist


break und continue

python
# break - beendet die Schleife
for i in range(10):
    if i == 5:
        break
    print(i)  # 0, 1, 2, 3, 4

# continue - überspringt aktuelle Iteration
for i in range(5):
    if i == 2:
        continue
    print(i)  # 0, 1, 3, 4

Funktionen - Code wiederverwenden

python
def begruessung(name):
    print(f"Hallo, {name}!")

begruessung("Anna")
begruessung("Max")

Funktionen = Rezepte für Code


Funktionen mit Rückgabewert

python
def addiere(a, b):
    return a + b

ergebnis = addiere(5, 3)
print(ergebnis)  # 8

summe = addiere(10, 20)
print(summe)  # 30

return gibt einen Wert zurück


Listen - Mehrere Werte speichern

python
zahlen = [1, 2, 3, 4, 5]
fruechte = ["Apfel", "Banane", "Kirsche"]

print(fruechte[0])   # "Apfel" (erstes Element)
print(fruechte[-1])  # "Kirsche" (letztes Element)

fruechte.append("Mango")  # Hinzufügen
print(fruechte)

Listen = Einkaufslisten für Daten


Listen-Methoden

python
zahlen = [3, 1, 4, 1, 5, 9, 2, 6]

print(len(zahlen))      # 8 (Länge)
print(max(zahlen))      # 9 (Maximum)
print(min(zahlen))      # 1 (Minimum)
print(sum(zahlen))      # 31 (Summe)

zahlen.sort()           # Sortieren
print(zahlen)

zahlen.reverse()        # Umkehren
print(zahlen)

for-Schleife mit Listen

python
fruechte = ["Apfel", "Banane", "Kirsche", "Mango"]

for frucht in fruechte:
    print(f"Ich mag {frucht}")

# Mit Index
for i in range(len(fruechte)):
    print(f"{i}: {fruechte[i]}")

Dictionaries - Wörterbücher

python
person = {
    "name": "Anna",
    "alter": 16,
    "stadt": "Berlin"
}

print(person["name"])   # "Anna"
print(person["alter"])  # 16

person["alter"] = 17    # Wert ändern
person["email"] = "anna@example.com"  # Neues Paar

print(person)

Schlüssel → Wert Paare


Über Dictionaries iterieren

python
person = {
    "name": "Anna",
    "alter": 16,
    "stadt": "Berlin"
}

# Über Schlüssel-Wert-Paare
for key, value in person.items():
    print(f"{key}: {value}")

Strings - Text verarbeiten

python
text = "Python ist toll"

print(len(text))              # 15 (Länge)
print(text.upper())           # "PYTHON IST TOLL"
print(text.lower())           # "python ist toll"
print(text.replace("toll", "super"))  # Ersetzen
print(text.split())           # ["Python", "ist", "toll"]

# Prüfungen
print("Python" in text)       # True
print(text.startswith("Py"))  # True

String-Formatting

python
name = "Anna"
alter = 16

# f-Strings (modern & empfohlen)
text = f"Ich bin {name} und {alter} Jahre alt."
print(text)

# Mit Berechnungen
preis = 19.99
print(f"Der Preis beträgt {preis * 1.19:.2f} €")

Benutzereingabe

python
name = input("Wie heißt du? ")
print(f"Hallo, {name}!")

# Zahlen einlesen
alter = int(input("Wie alt bist du? "))

if alter >= 18:
    print("Du bist volljährig")
else:
    print("Du bist minderjährig")

Wichtig: input() gibt immer einen String zurück!


Fehlerbehandlung

python
try:
    zahl = int(input("Gib eine Zahl ein: "))
    ergebnis = 100 / zahl
    print(f"Ergebnis: {ergebnis}")
except ValueError:
    print("Das war keine gültige Zahl!")
except ZeroDivisionError:
    print("Division durch Null geht nicht!")

Fängt Fehler ab, damit Programm nicht abstürzt


Debugging - Fehler finden 🐛

Debugger in Thonny:

  • Käfer-Symbol (🐛) oder Ctrl+F5
  • Step Over (F6) - Nächste Zeile
  • Variables-Fenster zeigt Werte

Variablen-Tabelle auf Papier:

python
x = 5
y = 10
x = x + y  # x = 15
y = x - y  # y = 5

Code-Stil: Gute Namen wählen

python
# Schlecht ✗
x = 42
f = "Anna"

# Gut ✓
alter = 42
vorname = "Anna"

# Variablen: snake_case
meine_variable = 10

# Konstanten: UPPER_CASE
PI = 3.14159

Aussagekräftige Namen machen Code lesbar!


Live Demo Time! 🚀

Lass uns zusammen programmieren:

  1. Ein einfaches Ratespiel
  2. Turtle-Zeichnungen
  3. Eine Notenliste verwalten

Zusammenfassung

✓ Variablen speichern Werte ✓ if/elif/else für Entscheidungen ✓ for/while für Wiederholungen ✓ Funktionen für wiederverwendbaren Code ✓ Listen für mehrere Werte ✓ Dictionaries für Schlüssel-Wert-Paare ✓ Fehlerbehandlung mit try/except


Üben, üben, üben! 💪

Die besten Programmierer:

  • Machen viele Fehler (und lernen daraus)
  • Probieren Dinge aus
  • Suchen nach Lösungen
  • Üben regelmäßig

Jetzt: Übungen in exercises.md!


Fragen?

Denk daran:

  • Fehler sind normal und wichtig
  • Google/StackOverflow sind deine Freunde
  • Jeder hat mal angefangen
  • Programmieren lernt man durch TUN

Viel Erfolg! 🎉

Informatik & ICT Unterricht Neufeld