static.wiai.de/mut-2019/sections/08-labyrinth.md
2023-01-10 11:40:39 +01:00

3.5 KiB
Raw Blame History

🌲🏰🌲

Labyrinth der Entscheidungen

Verzweigungen und Wahrheitswerte


Schildkröte auf Wanderschaft

from turtle import *
from random import randint

shape("turtle")
width(3)

while True:
    x = randint(1, 2)
    if x == 1:
        left(90)
        color("indian red")
    else:
        right(90)
        color("orange")
    forward(20)

✔️ ✖️

Wahrheitswerte

  • manchmal entscheiden Bedingungen über den Verlauf eines Programms
  • eine Bedingung ist entweder erfüllt (wahr, engl. True) oder nicht erfüllt (falsch, engl. False)

Beispiele für Bedingungen

  • 3 == 3 (True)
  • 2 + 2 != 4 (False)
  • 3 > 7 (False)
  • 42 <= 10 * 10 (True)

Wofür brauche ich Bedingungen?

Fallunterscheidungen (1)

turtle_groesse = 27 # cm

if turtle_groesse <= 30:
    print("Turtle wächst noch.")

Fallunterscheidungen (2)

turtle_groesse = 27 # cm

if turtle_groesse <= 30:
    print("Turtle wächst noch.")
else:
    print("Turtle ist ausgewachsen.")

Achtung: Die Befehle nach if und else müssen eingerückt werden.


Fallunterscheidungen (3)

turtle_groesse = 27 # cm

if turtle_groesse <= 30:
    print("Turtle wächst noch.")
elif turtle_groesse > 45:
    print("Turtle ist riesig!")
else:
    print("Turtle ist ausgewachsen.")

Bedingte Wiederholung

  • bei der for-Schleife muss man vorher genau wissen, wie oft etwas wiederholt werden muss
  • bei der while-Schleife werden Befehle so lange ausgeführt, wie die Bedingung erfüllt ist

Ich bin schon groß!

turtle_groesse = 27 # cm

while turtle_groesse <= 30:
    print("Turtle wächst noch.")
    turtle_groesse = turtle_groesse + 1
print("Turtle ist ausgewachsen.")
Turtle wächst noch.
Turtle wächst noch.
Turtle wächst noch.
Turtle wächst noch.
Turtle ist ausgewachsen.

Note:

  • hier noch mal auf den Unterschied hinweisen, den die Einrückung hier macht

🎲

Zufallszahlen

Zahlen zufällig bestimmen wie beim Würfeln

from random import randint

# eine Zufallszahl zwischen 1 und 6
randint(1,6)

Aufgabe 6


Bunte Fußstapfen

Dieses Mal erweitern wir das Beispiel von vorhin. Ihr findet den Code unter https://files.wiai.de/mut-2019.

  1. Füge **zwei weitere Richtungen** hinzu. Hierzu musst du aus insgesamt **vier Zufallszahlen** auswählen.
  2. Füge **weitere Fallunterscheidungen** für jede weitere Richtung hinzu.
  3. Verändere dabei die **Farbe**, die **Richtung** und den **Winkel**.
Vielleicht kannst du ja auch den zurückgelegten Weg von der Zufallszahl abhängig machen.

Lösungsbeispiel

from turtle import *
from random import randint

shape("turtle")
speed(9)
width(10)

while True:
    x = randint(1, 4)
    if x == 1:
        left(10)
        color("indian red")
        forward(10)
    elif x == 2:
        right(30)
        color("orange")
        forward(20)
    elif x == 3:
        left(100)
        color("green")
        forward(50)
    else:
        right(200)
        color("blue")
        forward(100)