MINT lernen

Variablen und Datentypen

Zwei Sachaufgaben zu Variablen und Datentypen mit Hinweisen und Erwartungshorizont.

Dein Fortschritt:
0 / 0 Aufgaben
1

Punktestand beim Basketballturnier

AFB I–II

Beim Schulturnier notiert ein Programm den Spielstand der 9b:

team = "9b"punkte = 0punkte = punkte + 3punkte = punkte + 2fouls = 1fouls = fouls + 1punkte = punkte + 1im_finale = Falseprint(team, punkte, fouls, im_finale)
  1. Nenne alle Variablen des Programms mit ihrem Datentyp.
  2. Bestimme die Ausgabe des Programms. Halte die Werte der Variablen nach jeder Zeile in einer Tabelle fest.
  3. Erläutere am Beispiel von Zeile 3, was bei punkte = punkte + 3 im Speicher passiert, und warum dieselbe Zeile in der Mathematik keinen Sinn ergäbe.

Hinweise

Hinweis zu Aufgabe a)
Achte auf Anführungszeichen und auf True/False.
Hinweis zu Aufgabe b)
Rechne Zeile für Zeile: Jede Zuweisung überschreibt den alten Wert.
Hinweis zu Aufgabe c)
Welche Seite wird zuerst ausgewertet?

Erwartungshorizont

Erwartungshorizont zu Aufgabe a)

team: str („9b“ steht in Anführungszeichen) · punkte: int · fouls: int · im_finale: bool.

Erwartungshorizont zu Aufgabe b)
  • nach Zeile 1–2: team = "9b", punkte = 0
  • nach Zeile 3: punkte = 3
  • nach Zeile 4: punkte = 5
  • nach Zeile 5–6: fouls = 1, dann fouls = 2
  • nach Zeile 7–8: punkte = 6, im_finale = False
9b 6 2 False
Erwartungshorizont zu Aufgabe c)

Python wertet zuerst die rechte Seite aus: Es holt den aktuellen Wert von punkte (0) und rechnet 0 + 3 = 3. Dieses Ergebnis wird danach unter dem Namen punkte gespeichert und ersetzt den alten Wert. In der Mathematik wäre punkte = punkte + 3 eine Gleichung, die für keine Zahl stimmt (0 = 3). In Python bedeutet = aber „bekommt den Wert“, nicht „ist gleich“.

2

Die Wetterstation der Schule

AFB II–III

Die Wetter-AG will die Messwerte ihrer Station speichern. Leons erster Versuch:

ort = Hannovertemperatur = 18,5regen mm = 2.4windig = trueprint(ort, temperatur, regen_mm, windig)
  1. Analysiere das Programm: Finde alle vier Fehler und gib jeweils an, ob Python eine Fehlermeldung zeigt.
  2. Implementiere eine fehlerfreie Fassung. Am Mittag ist es 3.5 Grad wärmer: Erhöhe die Temperatur mit einer Zuweisung und gib zum Schluss alle Werte sowie den Datentyp von temperatur aus.
  3. Entscheide begründet, welcher Datentyp jeweils am besten passt: Anzahl der Messungen, Luftdruck in hPa (z. B. 1013.2), Name der Station, „Sensor defekt?“, Postleitzahl 01067.

Hinweise

Hinweis zu Aufgabe a)
Prüfe jede Zeile: Anführungszeichen, Dezimalpunkt, Namensregeln, True/False.
Hinweis zu Aufgabe b)
Nutze temperatur = temperatur + 3.5 und print(type(temperatur)).
Hinweis zu Aufgabe c)
Rechnet man mit einer Postleitzahl? Was passiert mit der führenden 0?

Erwartungshorizont

Erwartungshorizont zu Aufgabe a)

Zeile 1: Hannover ohne Anführungszeichen wird als Variable gesucht → NameError. Zeile 2: 18,5 erzeugt keinen Fehler, speichert aber zwei Werte (18, 5) statt einer Kommazahl — ein heimlicher Fehler. Zeile 3: Leerzeichen im Namen → SyntaxError (den meldet Python als Erstes, noch vor dem Start). Zeile 4: true klein → NameError. Zeile 5 benutzt schon den richtigen Namen regen_mm.

Erwartungshorizont zu Aufgabe b)

Mögliche Lösung:

ort = "Hannover"temperatur = 18.5regen_mm = 2.4windig = Truetemperatur = temperatur + 3.5print(ort, temperatur, regen_mm, windig)print(type(temperatur))
Hannover 22.0 2.4 True
<class 'float'>
Erwartungshorizont zu Aufgabe c)

Anzahl der Messungen: int (ganze Zahl). Luftdruck: float (Kommazahl). Name: str. „Sensor defekt?“: bool (ja/nein → True/False). Postleitzahl: str — mit ihr wird nicht gerechnet, und als Zahl ginge die führende 0 verloren (plz = 01067 ist in Python sogar ein SyntaxError). Also plz = "01067".