🏆

Aufgabe gelöst!

Sehr gut!

+30 XP


⚡ 0 XP
✅ 0 gelöst
🔥 0
📦

Variablen & Datentypen

Informatik · Python · Klassen 9–12 · PRIMM-Methode

Python Interaktiv Kl. 9–12
🎯 Worum geht's? Klasse 9–12 · 2 Unterrichtsstunden

Nach dieser Seite kannst du …

  • vorhersagen, welchen Wert eine Variable nach jeder Zeile hat
  • zwischen / und // sowie zwischen Zahlen und Texten unterscheiden
  • erklären, warum zwei Namen auf dieselbe Liste oder dasselbe Objekt zeigen können
  • eigene kleine Funktionen mit Variablen schreiben

Vorwissen: Erste Python-Programme mit print und Zuweisungen

📝 Aufgaben

Jede Aufgabe hat fünf Schritte: Predict › Run › Investigate › Modify › Make. Wähle eine Aufgabe aus – oder nutze oben die Leiste „Aufgaben: 1, 2, 3 …“.

0
⚡ Gesammelte XP
0
✅ Aufgaben abgeschlossen
0
🔥 Streak (Tage)
–
🎯 Genauigkeit

📐 Das Wichtigste in Kürze

  • x = 5 – Zuweisung: Der Name x verweist auf den Wert 5. Der Typ ergibt sich aus dem Wert.
  • 7 / 2 ergibt 3.5, 7 // 2 ergibt 3 (ganzzahlig), 7 % 2 den Rest 1.
  • int("12"), str(12), float(3) wandeln zwischen Zahl und Text um.
  • Listen und Objekte: b = a kopiert nur den Verweis – beide Namen zeigen auf dasselbe.
  • In einer Funktion legt x = … eine lokale Variable an.

🏅 Zuletzt verdiente Badges

🔮 Predict
Aufgabe 1 – Ganzzahl- und Kommadivision

Analysiere den Code, ohne ihn auszuführen.

a = 7 b = 2 ergebnis = a // b ergebnis = ergebnis + 1 print(ergebnis)

Was gibt print(ergebnis) aus?

// teilt ganzzahlig: Der Nachkommateil wird abgeschnitten.
▶️ Run – Variablen verfolgen

Trage nach jeder Zeile die Werte ein (– = gibt es noch nicht).

Zeileabergebnis
1––
2–
3
4
Eine Zuweisung ändert nur die Variable links vom =.
🔍 Investigate

Was ergibt 7 / 2 in Python?

Welcher Operator liefert den Rest einer Division (7 … 2 ergibt 1)?

✏️ Modify

Ändere genau eine Zeile, sodass ergebnis nach Zeile 3 den Wert 3.5 hat (am Ende also 4.5).

🐍 Python – Modify
Welcher der beiden Divisionsoperatoren behält die Nachkommastellen?
🛠️ Make

Schreibe die Funktion zeit_text(minuten): Sie wandelt Minuten in Stunden und Minuten um, z. B. zeit_text(125) → "2 h 5 min".

🐍 Python – Make
Die Stunden liefert // 60, die übrigen Minuten % 60. Zahlen machst du mit str(…) zu Text.
🔮 Predict
Aufgabe 2 – Typumwandlung

Zahlen und Zeichen hängen über den Zeichencode zusammen: chr(65) ist "A".

n = 65 c = chr(n) d = float(n) c = chr(ord(c) + 1) print(c, d)

Was gibt die letzte Zeile aus?

ord macht aus einem Zeichen die Zahl, chr aus der Zahl das Zeichen. float liefert eine Kommazahl.
▶️ Run – Werte verfolgen

Trage nach jeder Zeile die Werte ein.

Zeilencd
1––
2–
3
4
Zeile 4: Erst ord(c) berechnen, dann 1 addieren, dann mit chr zurückwandeln.
🔍 Investigate

Was ergibt int("12") + 3?

Was passiert bei "12" + 3?

✏️ Modify

Ändere den Code so, dass d den Wert 65.5 erhält.

🐍 Python – Modify
Welche Zahl musst du zu n addieren?
🛠️ Make

Schreibe naechster_buchstabe(c) für Großbuchstaben: "A" → "B", … "Z" → "A".

🐍 Python – Make
Rechne den Buchstaben in eine Position 0–25 um (ord(c) - ord("A")), gehe eins weiter und sorge mit % 26 dafür, dass nach Z wieder A kommt.
🔮 Predict
Aufgabe 3 – Wahrheitswerte

Vergleiche liefern True oder False.

x = 5 y = 10 p = x < y q = y % 3 == 0 aussage = p and not q print(aussage)

Was gibt print(aussage) aus?

Rechne zuerst 10 % 3 aus. not kehrt einen Wahrheitswert um.
▶️ Run – Werte verfolgen

Trage die Werte nach Zeile 5 ein.

VariableWert
p
q
not q
aussage
y % 3 ist der Rest von 10 geteilt durch 3.
🔍 Investigate

Was liefert True or (1 / 0 == 0)?

Welcher Ausdruck prüft, ob n gerade ist?

✏️ Modify

Ändere die Zeile mit aussage so, dass sie True ist, wenn mindestens eine der Bedingungen p, q gilt.

🐍 Python – Modify
„Mindestens eine Bedingung gilt“ – welcher Operator passt: and oder or?
🛠️ Make

Schreibe ist_schaltjahr(jahr): durch 4 teilbar, aber nicht durch 100 – es sei denn, auch durch 400.

🐍 Python – Make
Zerlege die Regel in Teilbedingungen mit % und verbinde sie mit and und or.
🔮 Predict
Aufgabe 4 – Lokal und global

Eine Funktion kann eine Variable mit demselben Namen wie außerhalb haben.

x = 10 def zeige(): x = 20 print(x) zeige() print(x)

Was wird ausgegeben (in dieser Reihenfolge)?

x = 20 in der Funktion legt eine neue, lokale Variable an. Welche sieht das Hauptprogramm?
▶️ Run – Welches x gilt wo?

Welcher Wert wird in den beiden print-Zeilen ausgegeben?

ZeileAusgabe
5 (in zeige())
8 (Hauptprogramm)
Zeile 5 steht in zeige() – gibt es dort eine eigene Variable x?
🔍 Investigate

Was macht x = 20 in zeige()?

Was bewirkt global x am Anfang einer Funktion?

✏️ Modify

Ändere zeige() so, dass beide print-Aufrufe 20 ausgeben.

🐍 Python – Modify
Die Funktion muss sagen, dass sie das globale x meint, bevor sie ihm einen Wert zuweist.
🛠️ Make

Schreibe tausche(a, b): Die Funktion gibt beide Werte in umgekehrter Reihenfolge zurück. tausche(3, 7) → (7, 3).

🐍 Python – Make
Eine Funktion kann mit return mehrere Werte durch Komma getrennt zurückgeben.
🔮 Predict
Aufgabe 5 – Texte verketten

+ verbindet Texte – Zahlen müssen dafür erst Text werden.

s = "1" n = 2 s = s + str(n) print(s + str(n))

Was gibt die letzte Zeile aus?

str(2) ist der Text "2". Texte werden mit + aneinandergehängt.
▶️ Run – Werte verfolgen

Trage nach jeder Zeile die Werte ein.

ZeilesnAusgabe
1––
2–
3–
4
Zeile 3 hängt an den Text "1" den Text "2" an.
🔍 Investigate

Was passiert bei "1" + 2?

Was ergibt int("1") + 2?

✏️ Modify

Die Zeile mit summe erzeugt einen Fehler. Ändere sie so, dass summe die Zahl 3 enthält.

🐍 Python – Modify
Wandle den Text s in eine Zahl um, bevor du addierst.
🛠️ Make

Schreibe wiederhole(s, n) mit einer Schleife (ohne *): wiederhole("ab", 3) → "ababab".

🐍 Python – Make
Beginne mit einem leeren Text "" und hänge in einer Schleife n-mal s an.
🔮 Predict
Aufgabe 6 – Reihenfolge der Zuweisungen

Achte darauf, wann welcher Wert zugewiesen wird.

a = 3 b = a a = a + 1 y = a + b print(a, b, y)

Welchen Wert hat y am Ende?

Welchen Wert hat b am Ende?

b = a übernimmt den Wert, den a in diesem Moment hat.
▶️ Run – Schritt für Schritt

Trage nach jeder Zeile die Werte ein.

Zeileaby
1––
2–
3–
4
Zeile 3 ändert nur a. b behält den Wert aus Zeile 2.
🔍 Investigate

Ändert a = a + 1 auch b?

Was bewirkt a, b = b, a?

✏️ Modify

Vertausche zwei Zeilen so, dass am Ende b == 4 und y == 8 gilt.

🐍 Python – Modify
b soll den erhöhten Wert von a bekommen. Welche Zeile muss dafür früher stehen?
🛠️ Make

Schreibe stellenwert(n, stelle): die Ziffer an Position stelle von rechts (ab 0). stellenwert(1234, 0) → 4, stellenwert(1234, 2) → 2.

🐍 Python – Make
n % 10 liefert die letzte Ziffer, n // 10 schneidet sie ab. Wie oft musst du abschneiden?
🔮 Predict
Aufgabe 7 – Listen und Verweise

Analysiere den Code, ohne ihn auszuführen.

liste = [1, 2, 3] kopie = liste kopie[0] = 99 print(liste[0])

Was gibt die letzte Zeile aus?

kopie = liste legt keine neue Liste an.
▶️ Run – Werte verfolgen

Trage nach jeder Zeile die Werte ein.

Zeileliste[0]kopie[0]
1–
2
3
Beide Namen zeigen auf dieselbe Liste – eine Änderung ist unter beiden Namen sichtbar.
🔍 Investigate

Was ergibt kopie is liste?

Wie erhält man eine unabhängige Kopie?

✏️ Modify

Ändere eine Zeile so, dass liste[0] nach der Änderung von kopie weiterhin 1 ist.

🐍 Python – Modify
Du brauchst eine neue Liste mit denselben Werten. Listen haben dafür eine Methode.
🛠️ Make

Schreibe verdopple(liste): Sie gibt eine neue Liste zurück, in der jedes Element verdoppelt ist. Die alte Liste bleibt unverändert.

🐍 Python – Make
Lege eine leere Liste an und hänge mit append jeden verdoppelten Wert an.
🔮 Predict
Aufgabe 8 – Objekte und Verweise

Auch Objekte werden über Verweise angesprochen.

class Person: def __init__(self, name, alter): self.name = name self.alter = alter p1 = Person("Anna", 25) p2 = p1 p2.alter = 30 print(p1.name, p1.alter)

Was wird ausgegeben?

p2 = p1 kopiert nur den Verweis – nicht das Objekt.
▶️ Run – Werte verfolgen

Trage nach jeder Zeile die Werte ein.

Zeilep1.alterp2.alter
6–
7
8
Es gibt nur ein Person-Objekt – mit zwei Namen.
🔍 Investigate

Was passiert bei p3 = None und danach p3.alter = 5?

Wie prüft man sicher, ob p nicht None ist?

✏️ Modify

Ändere den Code so, dass p1.alter nach der Änderung noch 25 ist.

🐍 Python – Modify
Damit p2 ein eigenes Objekt ist, muss es mit Person(…) neu erzeugt werden.
🛠️ Make

Ergänze die Methode aelter(jahre): Sie gibt eine neue Person mit gleichem Namen und um jahre höherem Alter zurück.

🐍 Python – Make
Erzeuge mit Person(…) ein neues Objekt und gib es mit return zurück – self.alter bleibt unverändert.
🔮 Predict
Aufgabe 9 – Texte vergleichen

Texte lassen sich nicht verändern – jede Verkettung erzeugt einen neuen Text.

a = "Hallo" b = a a = a + "Welt" print(b)

Was gibt die letzte Zeile aus?

Zeile 3 erzeugt einen neuen Text und lässt a darauf zeigen. Worauf zeigt b?
▶️ Run – Werte verfolgen

Trage nach jeder Zeile die Werte ein.

Zeileab
1–
2
3
Eine Zuweisung an a ändert nie b.
🔍 Investigate

Was vergleicht == bei Texten?

Wofür ist is gedacht?

✏️ Modify

Der Vergleich nutzt is. Das klappt nur zufällig – ersetze ihn durch einen Inhaltsvergleich.

🐍 Python – Modify
Welcher Operator vergleicht den Inhalt zweier Texte?
🛠️ Make

Schreibe palindrom(s): True, wenn s vorwärts und rückwärts gleich ist – Groß-/Kleinschreibung zählt nicht. palindrom("Racecar") → True.

🐍 Python – Make
Mache den Text zuerst klein (lower()). s[::-1] liefert den Text rückwärts.
🔮 Predict
Aufgabe 10 – Werte an Funktionen übergeben

Was ändert sich im Hauptprogramm, wenn eine Funktion ihren Parameter ändert?

def verdoppeln(n): n = n * 2 def verdoppeln_erstes(liste): liste[0] = liste[0] * 2 x = 5 werte = [10] verdoppeln(x) verdoppeln_erstes(werte) print(x, werte[0])

Was wird ausgegeben?

n = n * 2 gibt dem Namen n einen neuen Wert. liste[0] = … ändert die Liste selbst.
▶️ Run – Schritt für Schritt

Trage die Werte im Hauptprogramm ein.

Zeitpunktxwerte[0]
nach Zeile 8
nach verdoppeln(x)
nach verdoppeln_erstes(werte)
Die Liste wird unter beiden Namen (werte und liste) verändert – x bleibt, wie es ist.
🔍 Investigate

Warum ändert verdoppeln(x) das x nicht?

Wie bekommt man den neuen Wert aus der Funktion heraus?

✏️ Modify

Passe verdoppeln und den Aufruf so an, dass x danach 10 ist.

🐍 Python – Modify
Die Funktion muss den neuen Wert mit return zurückgeben – und das Hauptprogramm muss ihn in x speichern.
🛠️ Make

Schreibe fuelle(liste, wert): Sie setzt jedes Element der übergebenen Liste auf wert (die Liste selbst wird geändert, kein return nötig).

🐍 Python – Make
Gehe mit range(len(liste)) über alle Indizes und setze jedes Feld.

🏅 Deine Badges

Verdiente Badges leuchten auf.

📊 Statistik

↺ Zurücksetzen

Alle gespeicherten Daten werden gelöscht.

📄 Arbeitsblatt erstellen

Wähle aus, welche Bereiche auf das Arbeitsblatt kommen. Es enthält dann alle … Aufgaben dieser Seite aus diesen Bereichen – mit Kästchen zum Ankreuzen, leeren Tabellen und Platz zum Schreiben, ohne Lösungen und Tipps.

Bereiche für das Arbeitsblatt