Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
| gf_informatik:karatutorial:loops [2026-08-24 13:34] – [Aufgabe 4] hof | gf_informatik:karatutorial:loops [2026-08-29 07:59] (aktuell) – hof | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ## Iteration mit Schleifen | ## Iteration mit Schleifen | ||
| + | |||
| Statt einen Befehl mehrere Male hintereinander hinzuschreiben, | Statt einen Befehl mehrere Male hintereinander hinzuschreiben, | ||
| Zeile 22: | Zeile 23: | ||
| * Nach der Bedingung von `while` muss ein Doppelpunkt `:` stehen. | * Nach der Bedingung von `while` muss ein Doppelpunkt `:` stehen. | ||
| * Die zu wiederholenden Anweisungen werden **gleichmässig eingerückt** | * Die zu wiederholenden Anweisungen werden **gleichmässig eingerückt** | ||
| - | * Drücke < | + | * Drücke < |
| - | * Die Tabulator-Taste | + | * Die [[wpde> |
| + | * < | ||
| * Sobald die Bedingung falsch wird, wird das Programm nach dem eingerückten Block fortgesetzt. | * Sobald die Bedingung falsch wird, wird das Programm nach dem eingerückten Block fortgesetzt. | ||
| Der Fachbegriff für eine Schleife ist **[[wpde> | Der Fachbegriff für eine Schleife ist **[[wpde> | ||
| - | ### Aufgabe | + | #### Aufgabe |
| Schau dir die untenstehende Kara-Welt gut an. Kannst du ein Kara-Programm schreiben, das **mit zwei Schleifen** zum Pilz kommt? Dafür kannst du mit `kara.treeFront()` herausfinden, | Schau dir die untenstehende Kara-Welt gut an. Kannst du ein Kara-Programm schreiben, das **mit zwei Schleifen** zum Pilz kommt? Dafür kannst du mit `kara.treeFront()` herausfinden, | ||
| - | <kara-editor | + | <kara-exercise |
| while not kara.treeFront(): | while not kara.treeFront(): | ||
| kara.move() | kara.move() | ||
| Zeile 46: | Zeile 48: | ||
| | | ||
| </ | </ | ||
| - | </kara-editor> | + | <kara-solution> |
| - | + | ||
| - | <nodisp 2> | + | |
| - | ++++Lösung 2| | + | |
| - | <code python> | + | |
| while not kara.treeFront(): | while not kara.treeFront(): | ||
| kara.move() | kara.move() | ||
| Zeile 58: | Zeile 56: | ||
| while not kara.mushroomFront(): | while not kara.mushroomFront(): | ||
| kara.move() | kara.move() | ||
| - | </code> | + | </kara-solution> |
| - | ++++ | + | < |
| - | </nodisp> | + | assert kara.x == 4 and kara.y == 7, f"Kara sollte an 4/7 sein, war aber an {kara.x}/ |
| + | </ | ||
| + | </kara-exercise> | ||
| - | ### Aufgabe | + | #### Aufgabe |
| Schreibe ein Kara-Programm, | Schreibe ein Kara-Programm, | ||
| Zeile 95: | Zeile 95: | ||
| </ | </ | ||
| - | < | + | < |
| ++++Lösung 3| | ++++Lösung 3| | ||
| <code python> | <code python> | ||
| Zeile 109: | Zeile 109: | ||
| ### Verschachtelte Schleifen | ### Verschachtelte Schleifen | ||
| Eine `while`-Schleife lässt sich auch innerhalb einer anderen Schleife verschachteln. | Eine `while`-Schleife lässt sich auch innerhalb einer anderen Schleife verschachteln. | ||
| - | #### Aufgabe | + | |
| + | #### Aufgabe | ||
| <WRAP todo> | <WRAP todo> | ||
| Zeile 115: | Zeile 116: | ||
| </ | </ | ||
| - | Betrachte den folgenden Code! Wie wird sich Kara bewegen? | + | Betrachte den folgenden Code zuerst **ohne ihn auszuführen**! Wie wird sich Kara bewegen? |
| < | < | ||