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»
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»
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)

Aufgabe : 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.

Aufgabe : 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