3.5 KiB
3.5 KiB
🌲🏰🌲
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.
- Füge **zwei weitere Richtungen** hinzu. Hierzu musst du aus insgesamt **vier Zufallszahlen** auswählen.
- Füge **weitere Fallunterscheidungen** für jede weitere Richtung hinzu.
- Verändere dabei die **Farbe**, die **Richtung** und den **Winkel**.
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)