Kapitel 11
Kapitel 11: Variablen
Eine Variable ist ein Name für einen Wert. In Karel-Programmen ist das besonders hilfreich, wenn du dir merken möchtest, wie oft etwas passiert ist: Wie viele Schritte ist Karel gelaufen? Wie viele Beeper wurden eingesammelt? Wie oft soll eine Schleife später laufen?
Variablen verändern nicht direkt Karels Welt. Sie liegen im Programm und helfen dir, Entscheidungen und Wiederholungen genauer zu steuern.
Werte speichern
Mit einer Zuweisung gibst du einem Wert einen Namen. Links steht der Name, rechts steht der Wert, der gespeichert wird.
steps = 0Wenn Karel später einen Schritt macht, kannst du den gespeicherten Wert erhöhen:
move()
steps = steps + 1Die rechte Seite wird zuerst ausgerechnet. Danach wird das Ergebnis wieder unter demselben Namen gespeichert.
Zählen in einer Schleife
Eine Variable wird oft als Zähler benutzt. Dieses Programm merkt sich, wie viele Felder Karel bis zur Wand läuft:
def main():
steps = 0
while front_is_clear():
move()
steps = steps + 1Variablen wiederverwenden
Der gespeicherte Wert kann danach eine weitere Schleife steuern. So kann Karel auf dem Rückweg genau so viele Felder bearbeiten, wie er vorher gelaufen ist.
turn_around()
for i in range(steps):
put_beeper()
if front_is_clear():
move()Vergleichen
In Bedingungen vergleichst du Werte mit zwei Gleichheitszeichen. Ein einzelnes = speichert, zwei Gleichheitszeichen vergleichen.
if steps == 3:
put_beeper()Ausprobieren
Aufgabe
Rückweg mit Variable markieren
Karel soll bis zur Wand laufen, die Anzahl der Schritte in einer Variable speichern und auf dem Rückweg jedes gelaufene Feld mit einem Beeper markieren.
Ziel
- Karel soll am Ende in Spalte 1, Zeile 1 stehen.
- Karel soll nach Westen schauen.
- In der Welt sollen 3 Beeper liegen.
- Karel soll keine Beeper in der Tasche haben.
Karel-Welt
Aktuelle Welt
4 x 1
Blick nach Osten
1,1Karel-Welt
Zielwelt
4 x 1
Blick nach Westen
1,1
2,1
3,1
4,1Aktuell unterstützt der Runner Karel-Befehle, eigene Funktionen und einfache for- und while-Schleifen.
Feedback
Schritte: 0
Status: Noch nicht gelöst
Aufgabe
Jedes zweite Feld markieren
Karel soll nach Osten bis zur Wand laufen und dabei jedes zweite besuchte Feld mit einem Beeper markieren: Feld 2, Feld 4, Feld 6 und so weiter. Verwende eine Variable als Zähler.
Ziel
- Karel soll am Ende in Spalte 7, Zeile 1 stehen.
- Karel soll nach Osten schauen.
- In der Welt sollen 3 Beeper liegen.
- Karel soll keine Beeper in der Tasche haben.
Karel-Welt
Aktuelle Welt
7 x 1
Blick nach Osten
1,1Karel-Welt
Zielwelt
7 x 1
Blick nach Osten
3,1
5,1
7,1Aktuell unterstützt der Runner Karel-Befehle, eigene Funktionen und einfache for- und while-Schleifen.
Feedback
Schritte: 0
Status: Noch nicht gelöst