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!
🎯 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
Ein- und Ausgabe von Text
Für Textausgaben genügt in Python ein einfaches print() – kein
System.out.println() wie in Java!
System.out.println("Hallo Java!");
print("Hallo Python!")
Konsoleneingabe mit input()
Konsoleneingaben lassen sich über input() realisieren. Der Text in den Klammern
ist die Eingabeaufforderung:
input() liefert immer einen
String! Für Zahleneingaben muss man mit int() oder
float() konvertieren.
Schreibe ein Programm, das nach dem Namen und dem Alter fragt und dann ausgibt:
Hallo [Name], du bist [Alter] Jahre alt!
print("3" + "5") aus?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!
int a = 4;
System.out.println(a);
// Typ-Änderung nicht möglich!
a = 4
print(a)
a = "Schönes Wetter!"
print(a) # Kein Fehler!
Datentypen ermitteln mit type()
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 |
True und False werden in Python
groß geschrieben!
meine_variable) – in Java camelCase
(z.B. meineVariable).Ergänze
print(type(...))-Ausgaben für alle vier Variablen. Der Test prüft,
ob du die richtigen Typen ausgibst.
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 |
Zuweisungsoperatoren
++ und -- existieren in Python
nicht! Stattdessen: a += 1 bzw. a -= 1
Logische Operatoren
!a // NOT
a || b // OR
a && b // AND
not a # NOT
a or b # OR
a and b # AND
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
10 / 2 in Python?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.
if (alter >= 18) {
System.out.println("Volljährig!");
} else {
System.out.println("Minderjährig!");
}
if alter >= 18:
print("Volljährig!")
else:
print("Minderjährig!")
elif statt else if
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! |
Listen
In Python gibt es keinen klassischen Array-Typ. Stattdessen werden Listen verwendet – flexibel in Länge und Typen.
int[] zahlen = {11, 67, 5, 4};
// Feste Größe, nur ein Typ
zahlen = [11, 67, 5, 4]
# Flexibel, gemischte Typen ok
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 |
Führe alle geforderten Listenoperationen der Reihe nach durch. Ausgangsliste:
["Apfel", "Banane", "Kirsche", "Dattel", "Erdbeere"]
- Hänge
"Feige"ans Ende. - Entferne das letzte Element.
- Füge
"Mango"an Position 2 ein. - Entferne
"Dattel". - Gib die Länge der Liste aus.
Referenz vs. Kopie
Schleifen
while-Schleife
Schreibe eine
while-Schleife, die nur die geraden Zahlen von 0 bis
20 ausgibt.
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 |
Berechne mit einer
for-Schleife die Summe aller Zahlen von 1 bis
100. Erwartetes Ergebnis: 5050.
for-Schleife über Listen (foreach)
for (String f : farben) {
System.out.println(f);
}
for farbe in farben:
print(farbe)
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
range(1, 10, 2) aus?Funktionen
Syntax und Aufbau
static int berechneQuadrat(int n) {
return n * n;
}
def berechne_quadrat(n):
return n ** 2
Optionale Parameter (Standardwerte)
Gültigkeit von Variablen (Scope)
Implementiere
celsius_zu_fahrenheit(grad). Formel:
F = C × 9/5 + 32
Vervollständige
potenziere(basis, exponent=2) so, dass sie
basis hoch exponent zurückgibt.
Schreibe
ist_gerade(zahl) → gibt True zurück wenn gerade,
sonst False. Nutze den %-Operator!
Schreibe
max_von_drei(a, b, c) → gibt die größte Zahl zurück. Verwende
keine eingebaute max()-Funktion!
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 |
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.