Manchmal möchten wir eine Anweisung (oder eine Sequenz von Anweisungen) nur dann ausführen, wenn eine Bedingung erfüllt ist. Beispielsweise möchten wir, dass Kara sich nach rechts dreht, wenn sie vor einem Baum steht. Dies erreichen wir mit einer Verzweigung. Ähnlich wie bei der while-Schleife können wir eine Bedingung definieren; ist sie erfüllt, so wird der Block ausgeführt, sonst nicht:

if kara.treeFront(): kara.turnRight() TTTTTTTTT T T T T T T T T TT>T M T T T T TTTTTTTTT

Der Fachbegriff für eine Verzweigung ist Selektion (Auswahl einer Anweisung).

Betrachte folgende Kara-Welt und den dazugehörigen Code! Was wird Kara tun? Ergänze den Code, so dass Kara zum Pilz findet!

while not kara.mushroomFront(): kara.move() TTTTTTTTT T T T > T T T T T T T T T T T T TTTTTMTTT

Lösung 5

Wie wir gesehen haben, können Schleifen und Verzweigungen auch innerhalb eines anderen eingerückten Programmblocks stehen.

Manchmal möchten wir genau eine von beiden alternativen Code-Sequenzen ausführen, je nachdem ob die Bedingung erfüllt ist oder nicht. Dies geschieht mit else:

if kara.treeFront():
    kara.turnLeft()
else:
    kara.move()

Analysiere den untenstehenden Code, bevor du ihn ausführst. Beschreibe auf Deutsch, was Kara tun wird. Führe den Code erst dann aus! Findet Kara zum Pilz?

while not kara.mushroomFront(): if kara.treeFront(): kara.turnRight() kara.move() kara.turnLeft() kara.move() kara.move() kara.turnLeft() kara.move() kara.turnRight() else: kara.move() TTTTTTTTT T T T T T T T T T> T T M T T T T TTTTTTTTT

Gratuliere, du hast deine ersten Kara-Verzweigungen geschrieben! Weiter gehts mit Labyrinthe (Bonus).

  • gf_informatik/karatutorial/verzweigungen_2.1787994457.txt.gz
  • Zuletzt geändert: 2026-08-29 09:07
  • von hof