Benutzer-Werkzeuge

Webseiten-Werkzeuge


python:turtle:programmverzweigungen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
python:turtle:programmverzweigungen [2022/04/27 11:55] lutzpython:turtle:programmverzweigungen [2026/03/03 07:40] (aktuell) lutz
Zeile 1: Zeile 1:
-======Programmverzweigungen=======+======Programmverzweigungen======
  
 Häufig ist es beim Programmieren notwendig, Teile des Programms nur unter bestimmten Bedingungen auszuführen. Um dies zu Realisieren benötigen wir Programmverzweigungen. Beim Programmieren unterscheidet man dabei drei verschiedene Arten von Verzweigungen: Häufig ist es beim Programmieren notwendig, Teile des Programms nur unter bestimmten Bedingungen auszuführen. Um dies zu Realisieren benötigen wir Programmverzweigungen. Beim Programmieren unterscheidet man dabei drei verschiedene Arten von Verzweigungen:
Zeile 24: Zeile 24:
 if <bedingung1>: if <bedingung1>:
    ... anweisungen ...    ... anweisungen ...
-elif <bedinging2>:+elif <bedingung2>:
    ... anweisungen ...    ... anweisungen ...
-elif <bedinging3>:+elif <bedingung3>:
    ... anweisungen ...    ... anweisungen ...
 ... ...
Zeile 32: Zeile 32:
    ... anweisungen ...    ... anweisungen ...
 </code> </code>
 +
 +**Bemerkungen:**
 +
 +  * Hinter dem Doppelpunkt rückt man den Quelltext ein (Tabulator). Alle Anweisungen die (um die selbe Tiefe) eingerückt sind, werden bei der entsprechenden Bedingung ausgeführt.
 +  * Zum Formulieren der Bedingungen benötigen wir Vergleichsoperatoren:
 +
 +^Operator ^Wirkung^
 +^ ''%%>%%'' | größer |
 +^ ''%%<%%'' | kleiner |
 +^ ''%%>=%%'' | größer gleich |
 +^ ''%%<=%%'' | kleiner gleich |
 +^ ''%%==%%'' | gleich |
 +^ ''%%!=%%'' | ungleich |
 +
 +Ausführlichere Informationen zum Thema findet ihr hier
 +
 +[[python:alternative|Ein- und zweiseitige Alternative]]
 +
 +[[python:mehrfach|Mehrfachverzweigungen]]
 +
 +
 +Die folgenden drei Turtle-Programme sollen die drei Fälle demonstrieren:
 +
 +<code python>
 +# Beispiel einseitige Alternative
 +from turtle import *
 +
 +eingabe = textinput("Frage","Soll ein Rechteck gezeichnet werden? (J/N)")
 +
 +# Zum Vergleich wird ein doppeltes = verwendet.
 +if eingabe == "J":
 +    fd(200)
 +    right(90)
 +    fd(200)
 +    right(90)
 +    fd(200)
 +    right(90)
 +    fd(200)
 +
 +print("Das Rechteck wurde nur gezeichnet, wenn J eingegeben wurde.")
 +</code>
 +
 +
 +<code python>
 +# Beispiel zweiseitige Alternative
 +from turtle import *
 +
 +eingabe = textinput("Frage","Soll ein Rechteck oder ein Dreieck gezeichnet werden? (R/D)")
 +
 +# Zum Vergleich wird ein doppeltes = verwendet.
 +if eingabe == "R":
 +    fd(200)
 +    right(90)
 +    fd(200)
 +    right(90)
 +    fd(200)
 +    right(90)
 +    fd(200)
 +else:
 +    fd(200)
 +    right(120)
 +    fd(200)
 +    right(120)
 +    fd(200)
 +
 +print("Das Rechteck wurde nur gezeichnet, wenn R eingegeben wurde. In jedem anderen Fall wurde das Dreieck gezeichnet.")
 +</code>
 +
 +
 +<code python>
 +# Beispiel Mehrfachverzweigung
 +from turtle import *
 +
 +figur = textinput("Frage","Welche Figur soll gezeichnet werden? (Dreieck, Quadrat, Sechseck)")
 +stiftfarbe = textinput("Frage","In welcher Stiftfarbe soll die Figur gezeichnet werden? (rot, grün, blau)")
 +fuellfarbe = textinput("Frage","In welcher Füllfarbe soll die gezeichnet werden? (rot, grün, blau)")
 +
 +if stiftfarbe == "rot":
 +    pencolor("red")
 +elif stiftfarbe == "grün":
 +    pencolor("green")
 +else:
 +    pencolor("blue")
 +
 +if fuellfarbe == "rot":
 +    fillcolor("red")
 +elif fuellfarbe == "grün":
 +    fillcolor("green")
 +else:
 +    fillcolor("blue")
 +
 +
 +pensize(5)
 +
 +if figur == "Dreieck":
 +    begin_fill()
 +    fd(200)
 +    right(120)
 +    fd(200)
 +    right(120)
 +    fd(200)
 +    end_fill()
 +elif figur == "Quadrat":
 +    begin_fill()
 +    fd(200)
 +    right(90)
 +    fd(200)
 +    right(90)
 +    fd(200)
 +    right(90)
 +    fd(200)
 +    end_fill()
 +else:
 +    begin_fill()
 +    fd(200)
 +    right(60)
 +    fd(200)
 +    right(60)
 +    fd(200)
 +    right(60)
 +    fd(200)
 +    right(60)
 +    fd(200)
 +    right(60)
 +    fd(200)
 +    end_fill()
 +</code>
 +
 +
 +Farbwähler: https://de.w3docs.com/tools/color-picker
 +
 +**Aufgabe 12**
 +
 +Teste die Beispielprogramme. Ergänze das Programm zur Mehrfachverzweigung um weitere Farben.
 +
 +**Aufgabe 13**
 +
 +Schreibe ein Programm bei dem zunächst folgende Eigenschaften abgefragt werden:
 +
 +Figur: Dreieck, Quadrat, Sechseck
 +
 +Stiftfarbe: rot, grün, blau
 +
 +Füllfarbe: rot, grün, blau
 +
 +entsprechend der Eingabe soll dann die entsprechende Figur gezeichnet werden.
 +
python/turtle/programmverzweigungen.1651053354.txt.gz · Zuletzt geändert: von lutz