🐍

Python Grundlagen

Interaktives Lernmaterial für Klasse 8 Informatik & Medienbildung am Gymnasium Baden-Württemberg. Führe Code direkt im Browser aus – kein Setup nötig!

Klasse 8 Interaktiv Python 3
🎯 Worum geht's? Klasse 8 · mehrere Stunden (Kurs)

Nach dieser Seite kannst du …

  • Python-Code im Browser ausführen, verändern und mit Tests prüfen
  • Ein- und Ausgabe, Variablen und Datentypen verwenden
  • Operatoren, Bedingungen und Schleifen in kleinen Programmen einsetzen

Vorwissen: keines

💡 So funktioniert diese Seite

▶️

Ausführen

Klicke Ausführen oder drücke Strg+Enter im Codefeld

✏️

Bearbeiten

Verändere jeden Code-Block frei – Tab = 4 Leerzeichen

🧪

Testen

Aufgaben prüfen mit automatischen Tests & didaktischen Hinweisen

↺

Zurücksetzen

Jederzeit den Original-Code wiederherstellen

1

Ein- und Ausgabe von Text

Für Textausgaben genügt in Python ein einfaches print() – kein System.out.println() wie in Java!

☕ Java
System.out.println("Hallo Java!");
🐍 Python
print("Hallo Python!")
python Strg+Enter = Ausführen

Konsoleneingabe mit input()

Konsoleneingaben lassen sich über input() realisieren. Der Text in den Klammern ist die Eingabeaufforderung:

python Strg+Enter = Ausführen
⚠️
Wichtig: input() liefert immer einen String! Für Zahleneingaben muss man mit int() oder float() konvertieren.
python
✏️
🎯 Aufgabe – Begrüßung
Schreibe ein Programm, das nach dem Namen und dem Alter fragt und dann ausgibt:
Hallo [Name], du bist [Alter] Jahre alt!
python – Aufgabe
🧠 Mini-Quiz: Was gibt print("3" + "5") aus?
8
35
Fehlermeldung
2

Variablen und Typen

Einer der Hauptunterschiede zu Java ist Pythons dynamische Typisierung. Der Typ einer Variablen wird durch die Wertzuweisung bestimmt – keine explizite Deklaration nötig!

☕ Java
int a = 4;
System.out.println(a);
// Typ-Änderung nicht möglich!
🐍 Python
a = 4
print(a)
a = "Schönes Wetter!"
print(a)  # Kein Fehler!
python

Datentypen ermitteln mit type()

python

Die wichtigsten Datentypen

Python-Typ Java-Äquivalent Beispiel Beschreibung
str String "Hallo" Zeichenkette
int int / long -56 Ganze Zahl
float double 3.4565 Kommazahl
bool boolean True / False Wahrheitswert
⚠️
Beachte: True und False werden in Python groß geschrieben!
📝
Namenskonvention: In Python nutzt man snake_case (z.B. meine_variable) – in Java camelCase (z.B. meineVariable).
✏️
🎯 Aufgabe
Ergänze print(type(...))-Ausgaben für alle vier Variablen. Der Test prüft, ob du die richtigen Typen ausgibst.
python – Aufgabe
3

Operatoren

Arithmetische Operatoren

Operator Bedeutung Beispiel Ergebnis
/ Division → immer float 5 / 2 2.5
// Ganzzahl-Division 5 // 2 2
% Modulo (Rest) 5 % 2 1
** Potenz 2 ** 8 256
python

Zuweisungsoperatoren

⚠️
Die Operatoren ++ und -- existieren in Python nicht! Stattdessen: a += 1 bzw. a -= 1
python

Logische Operatoren

☕ Java
!a        // NOT
a || b    // OR
a && b    // AND
🐍 Python
not a     # NOT
a or b    # OR
a and b   # AND
python
✏️
🎯 Aufgabe – Taschenrechner
Lies zwei ganze Zahlen ein (a und b) und gib folgendes aus:
  • Die Summe: a + b
  • Das Produkt: a * b
  • Den ganzzahligen Quotienten: a // b
  • Den Rest der Division: a % b
python – Aufgabe
🧠 Mini-Quiz: Was ergibt 10 / 2 in Python?
5 (int)
5.0 (float)
Fehlermeldung
4

if-Anweisung

In Python gibt es keine geschweiften Klammern! Die Zugehörigkeit von Code-Blöcken wird durch Einrückung bestimmt – das ist syntaktisch zwingend.

☕ Java
if (alter >= 18) {
    System.out.println("Volljährig!");
} else {
    System.out.println("Minderjährig!");
}
🐍 Python
if alter >= 18:
    print("Volljährig!")
else:
    print("Minderjährig!")
python

elif statt else if

python
✏️
🎯 Aufgabe
Schreibe ein Programm, das nach Eingabe eines Namens eine Ausgabe gemäß der Tabelle erzeugt. Hinweis: len(s) liefert die Länge des Strings.
Anzahl Buchstaben Ausgabe
bis 5 Kurzer Name!
6 bis 10 Einigermaßen kurzer Name!
11 bis 16 Einigermaßen langer Name!
ab 17 Sehr langer Name!
python – Aufgabe
5

Listen

In Python gibt es keinen klassischen Array-Typ. Stattdessen werden Listen verwendet – flexibel in Länge und Typen.

☕ Java (Array)
int[] zahlen = {11, 67, 5, 4};
// Feste Größe, nur ein Typ
🐍 Python (Liste)
zahlen = [11, 67, 5, 4]
# Flexibel, gemischte Typen ok
python

Wichtige Listen-Methoden

Methode Bedeutung
liste.append(x) Fügt x am Ende hinzu
liste.pop() Entfernt letztes Element
liste.pop(i) Entfernt Element an Index i
liste.insert(i, x) Fügt x an Position i ein
liste.remove(x) Entfernt erstes Vorkommen von x
len(liste) Gibt die Länge zurück
liste.copy() Erstellt eine echte Kopie
✏️
🎯 Aufgabe
Führe alle geforderten Listenoperationen der Reihe nach durch. Ausgangsliste: ["Apfel", "Banane", "Kirsche", "Dattel", "Erdbeere"]
  1. Hänge "Feige" ans Ende.
  2. Entferne das letzte Element.
  3. Füge "Mango" an Position 2 ein.
  4. Entferne "Dattel".
  5. Gib die Länge der Liste aus.
python – Aufgabe

Referenz vs. Kopie

python
6

Schleifen

while-Schleife

python
✏️
🎯 Aufgabe
Schreibe eine while-Schleife, die nur die geraden Zahlen von 0 bis 20 ausgibt.
python – Aufgabe

for-Schleife als Zählschleife

Aufruf Bedeutung
range(n) 0, 1, ..., n-1
range(start, stop) start, ..., stop-1
range(start, stop, step) mit Schrittweite
python
✏️
🎯 Aufgabe
Berechne mit einer for-Schleife die Summe aller Zahlen von 1 bis 100. Erwartetes Ergebnis: 5050.
python – Aufgabe

for-Schleife über Listen (foreach)

☕ Java
for (String f : farben) {
    System.out.println(f);
}
🐍 Python
for farbe in farben:
    print(farbe)
python
✏️
🎯 Aufgabe – FizzBuzz
Gib die Zahlen 1 bis 30 aus. Dabei gilt:
  • Durch 3 teilbar → Fizz
  • Durch 5 teilbar → Buzz
  • Durch 3 und 5 teilbar → FizzBuzz
  • Sonst → die Zahl selbst
python – Aufgabe
🧠 Mini-Quiz: Was gibt range(1, 10, 2) aus?
1, 2, 3, 4, 5, 6, 7, 8, 9
1, 3, 5, 7, 9
2, 4, 6, 8, 10
7

Funktionen

Syntax und Aufbau

☕ Java
static int berechneQuadrat(int n) {
    return n * n;
}
🐍 Python
def berechne_quadrat(n):
    return n ** 2
python

Optionale Parameter (Standardwerte)

python

Gültigkeit von Variablen (Scope)

python
✏️
🎯 Aufgabe 1 – Temperatur
Implementiere celsius_zu_fahrenheit(grad). Formel: F = C × 9/5 + 32
python – Aufgabe
✏️
🎯 Aufgabe 2 – Potenz
Vervollständige potenziere(basis, exponent=2) so, dass sie basis hoch exponent zurückgibt.
python – Aufgabe
✏️
🎯 Aufgabe 3 – Gerade Zahlen
Schreibe ist_gerade(zahl) → gibt True zurück wenn gerade, sonst False. Nutze den %-Operator!
python – Aufgabe
✏️
🎯 Aufgabe 4 – Maximum
Schreibe max_von_drei(a, b, c) → gibt die größte Zahl zurück. Verwende keine eingebaute max()-Funktion!
python – Aufgabe
8

Zufallszahlen & Module

Das random-Modul wird mit import eingebunden:

Funktion Bedeutung
random.random() float zwischen 0.0 und 1.0
random.randint(a, b) int zwischen a und b (beide inkl.)
random.choice(liste) Zufälliges Element aus Liste
random.shuffle(liste) Mischt eine Liste durch
python
🏆
🎯 Abschluss-Aufgabe: Zahlen-Ratespiel
Schreibe ein vollständiges Ratespiel:
  • Das Programm wählt eine Zufallszahl zwischen 1 und 20.
  • Der Nutzer gibt Zahlen ein, bis er getroffen hat.
  • Bei jedem Fehlversuch: „Zu groß!" oder „Zu klein!"
  • Am Ende: Anzahl der Versuche ausgeben.
python – Abschluss-Aufgabe