Benutzer-Werkzeuge

Webseiten-Werkzeuge


python:turtle:funktionen

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:funktionen [2022/05/11 07:24] lutzpython:turtle:funktionen [2022/05/12 08:02] (aktuell) lutz
Zeile 24: Zeile 24:
 ... Anweisungen ... ... Anweisungen ...
 </code> </code>
 +
 +Für unser Programm wäre also eine Funktion **quadrat()** hilfreich, welche man wie folgt definieren müsste:
 +
 +<code python>
 +def quadrat():
 +    for i in range(4):
 +        fd(50)
 +        left(90)
 +</code>
 +
 +Aufgerufen werden kann die Funktion Quadrat dann durch den Befehl ''%%quadrat()%%''.
 +
 +
 +**Vollständige Lösung:**
 +
 +<code python>
 +from turtle import *
 +
 +def quadrat():
 +    for i in range(4):
 +        fd(50)
 +        left(90)
 +penup()
 +goto(-200,200)
 +pendown()
 +for i in range(5):
 +    quadrat()
 +    penup()
 +    fd(100)
 +    pendown()
 +
 +penup()
 +goto(-150,150)
 +pendown()
 +for i in range(4):
 +    quadrat()
 +    penup()
 +    fd(100)
 +    pendown()
 +
 +penup()
 +goto(-200,100)
 +pendown()
 +for i in range(5):
 +    quadrat()
 +    penup()
 +    fd(100)
 +    pendown()
 +
 +penup()
 +goto(-150,50)
 +pendown()
 +for i in range(4):
 +    quadrat()
 +    penup()
 +    fd(100)
 +    pendown()
 +
 +
 +penup()
 +goto(-200,0)
 +pendown()
 +for i in range(5):
 +    quadrat()
 +    penup()
 +    fd(100)
 +    pendown()
 +
 +penup()
 +goto(-150,-50)
 +pendown()
 +for i in range(4):
 +    quadrat()
 +    penup()
 +    fd(100)
 +    pendown()
 +
 +penup()
 +goto(-200,-100)
 +pendown()
 +for i in range(5):
 +    quadrat()
 +    penup()
 +    fd(100)
 +    pendown()
 +
 +penup()
 +goto(-150,-150)
 +pendown()
 +for i in range(4):
 +    quadrat()
 +    penup()
 +    fd(100)
 +    pendown()
 +
 +penup()
 +goto(-200,-200)
 +pendown()
 +for i in range(5):
 +    quadrat()
 +    penup()
 +    fd(100)
 +    pendown()
 +</code>
 +
 +Eine ausführliche Darstellung zu Funktionen findet ihr hier:
 +
 +[[python:funcmod:func|Funktionen in Python]]
 +
 +**Aufgabe 18**
 +
 +Teste das Beispielprogramm!
 +
 +**Aufgabe 19**
 +
 +Definiere in einem Programm die Funktionen ''%%dreieck()%%'', ''%%fuenfeck()%%'', ''%%sechseck()%%'', ''%%achteck()%%'' und ''%%neuneck()%%''. Teste die Funktionen!
 +
 +**Aufgabe 20**
 +
 +Schreibe ein Pythonprogramm, welches die folgende Figur zeichnet. Dabei sollen keine Linien doppelt gezeichnet werden (Funktionen penup und pendown). Verwende in deinem Programm die Funktion ''%%dreieck()%%''!
 +
 +{{ :python:turtle:turtle016.png?600 |}}
 +
 +=====Funktionen mit Parameter=====
 +
 +In den Klammern können bei der Funktonsdefinition sogenannte formale Parameter stehen. Das sind Variablen, die im Qhelltext der Funktionsdefinition benutzt werden dürfen. So könnte man z.B. eine Funktion ''%%vieleck(n)%%'' definieren, die entsprechend der eingetragenen Zahl n ein reguläres n-Eck zeichnet:
 +
 +<code python>
 +def vieleck(n):
 +    for i in range(n):
 +        fd(50)
 +        left(360//n)
 +</code>
 +
 +In der Definition der Funktion wird der Parameter n benutzt, um die Größe des Winkels zu berechnen und um die Anzahl der zu zeichnenden Seiten festzulegen.
 +
 +Im Programm kann man die Funktion nun auf verschiedene Weise aufrufen:
 +
 +<code python>
 +vieleck(4)
 +</code>
 +
 +In diesem Fall wird für n im Programm 4 eingesetzt und es wird ein Viereck (Quadrat) gezeichnet.
 +
 +<code python>
 +def vieleck(n):
 +    for i in range(n):
 +        fd(50)
 +        left(360//n)
 +
 +e = int(input("Gib die Anzahl der Ecken ein: "))
 +vieleck(e)
 +</code>
 +
 +Hier wird für n die Zahl e eingesetzt, die man eingibt. und es wird das entsprechende Vieleck gezeichnet.
 +
 +**Aufgabe 21**
 +
 +Teste das letzte Programm!
 +
 +**Aufgabe 22**
 +
 +Erweitere das letzte Programm und definiere eine Funktion ''%%vieleck(n,l)%%'', so dass ein n-Eck mit der Kantenlänge l gezeichnet wird. l soll dabei auch eingegeben werden.
 +
 +**Aufgabe 23**
 +
 +Erweitere das letzte Programm und definiere eine Funktion ''%%vieleck(n,l,pc,fc)%%'', so dass dass n-Eck noch zusätzlich die Stiftfarbe pc und die Füllfarbe fc hat. Die Farben sollen auch eingegeben werden.
 +
 +**Aufgabe 24**
 +
 +Schreibe ein Programm welches die olympischen Dreiecke, Vierecke und Sechsecke zeichnet. Nutze dazu die Funktion aus der letzten Aufgabe.
 +
 +{{ :python:turtle:turtle017.png?600 |}}
 +
 +{{ :python:turtle:turtle018.png?600 |}}
 +
 +{{ :python:turtle:turtle019.png?600 |}}
 +
python/turtle/funktionen.1652246652.txt.gz · Zuletzt geändert: 2022/05/11 07:24 von lutz