# Analogon

Border

Wir treffen ständig Entscheidungen:

  • Regnet es? Wenn ja packen wir einen Schirm ein. Wenn nein lassen wir ihn zu Hause.
  • Habe ich etwas nicht verstanden? Dann frage ich nach.

# Flussdiagramm

Definition einer Schleife «für jede Zutat»

# Pseudo-Code

magst du süsses?
    dann:
       Vermicelles auf Teller
       Schlagrahm darüber

mit Kaffe servieren
1
2
3
4
5
6

# mit else-Block

Man kann nun einen else-Block hinzufügen. Dieser wird ausgeführt, wenn die Bedingung im if nicht zutrifft!

Definition einer Schleife «für jede Zutat»

# Pseudo-Code

Soll die Salatsauce italienisch sein?
    falls ja:
       Balsamico und Olivenöl beigeben
       Meersalz darüberstreuen
    sonst:
       Weinessig und Rapsöl beigeben
       Yoghurt reinmischen
       Salatgewürze darüberstreuen

umrühren
1
2
3
4
5
6
7
8
9
10

# Syntax

# if (ohne else)

if bedingung:
    #if-Block
1
2

Wenn … dann …

# if-else

if bedingung:
    #if-Block
else:
    #else-Block
1
2
3
4

Wenn … dann … sonst …

# if (mit elif)

eine Spezialität von Python sind die elif-Blöcke. elif steht für «else-if». Also im Sinn von «sonst wenn».

if bedingung1:
    #if-Block
elif bedingung2:
    #elif-Block
elif bedingung3:
    #elif-Block
...
elif bedingungX:
    #elif-Block
else
    #else-Block
1
2
3
4
5
6
7
8
9
10
11

Wenn … dann … sonst wenn … dann … sonst wenn … dann … sonst …

Hinweis

In Python sind die if-else-Strukturen so aufgebaut:

  • zuerst muss ein if kommen (mit Bedingung)
  • dann können 0 oder mehrere elif kommen (mit Bedingung)
  • am Schluss kann ein else kommen (ohne Bedingung)

Endlos-Animation

Unsere Schneeanimation stoppt ja plötzlich. Wie können wir dieses Problem umgehen?

Variante A:
Wenn die Schneeflocke den unteren Bildrand erreicht, setzen wir sie wieder nach oben

Variante B:
Wir erzeugen nicht zu Beginn 500 Schneeflocken, sondern ständig (in der update-Funktion) Schneeflocken. Diese Flocken starten alle am oberen Bildrand und fallen runter. Wenn sie unten ankommen, entfernen wir sie aus der Liste.

Actor mit Tastatur steuern

Wir wollen einen Actor mit der Tastatur steuern. Dazu können wir z.B. in der Update-Funktion abfragen, ob eine bestimmte Taste gedrückt ist:

def update():
    if keyboard.left:
        alien.x = alien.x - 1
    elif keyboard.right:
        alien.x = alien.x + 1
1
2
3
4
5

Wenn wir auf einzelne Tastaturereignisse reagieren wollen, z.B. um eine Figur springen zu lassen, dann verwenden wir besser die Ereignis-Methoden on_key_down() und on_key_up().

Letzte Änderung: 30.10.2019, 13:18:32