Aktionen verändern Karas Position oder die Welt.

Befehl Wirkung
kara.move() Geht 1 Feld nach vorne.
kara.turnLeft() Dreht um 90° nach links.
kara.turnRight() Dreht um 90° nach rechts.
kara.putLeaf() Legt ein Kleeblatt ab (Fehler, falls bereits ein Blatt da ist).
kara.removeLeaf() Nimmt ein Kleeblatt auf (Fehler, falls kein Blatt da ist).

Sensoren testen Karas Umgebung und geben immer einen Boolean-Wert (True oder False) zurück.

Sensor Bedingung ist True, wenn…
kara.treeFront() … direkt vor Kara ein Baum steht.
kara.treeLeft() … links von Kara ein Baum steht.
kara.treeRight() … rechts von Kara ein Baum steht.
kara.mushroomFront() … direkt vor Kara ein Pilz steht.
kara.onLeaf() … Kara auf einem Kleeblatt steht.

Schleife (Iteration)

Wiederholt den eingerückten Code, solange die Bedingung wahr ist:

while not kara.treeFront():
    kara.move()

Verzweigung (Selektion)

Führt Code nur aus, falls eine Bedingung erfüllt ist:

if kara.onLeaf():
    kara.removeLeaf()
else:
    kara.putLeaf()
Operator Bedeutung Beispiel
not Negation (Umdrehen) not kara.onLeaf() (Kein Blatt)
and Konjunktion (Beide True) kara.treeLeft() and kara.treeRight() (Tunnel)
or Disjunktion (Mind. eins True) kara.treeLeft() or kara.treeRight() (Wand nahe)

Auswertungsreihenfolge (Rangfolge): not bindet stärker als and, and bindet stärker als or. Nutze Klammern () zur Klarheit!

count = 0                     # Zahl-Variable deklarieren
count = count + 1             # Wert um 1 erhöhen
print("Gefunden:", count)     # Text und Wert in der Konsole ausgeben
  • Klammern vergessen bei Funktionen: while not kara.treeFront: anstelle von while not kara.treeFront():. (Führt zu Endlosschleifen ohne Fehlermeldung!)
  • Einrückung vergessen (IndentationError): Der Code innerhalb von while oder if muss mit Tab eingerückt sein.
  • Aktion mit Sensor verwechseln: kara.move() lässt Kara laufen; kara.treeFront() prüft nur, ob ein Hindernis da ist, ohne Kara zu bewegen.
  • gf_informatik/karatutorial/cheatsheet.txt
  • Zuletzt geändert: 2026-09-01 07:57
  • von hof