python:turtle:funktionen
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
python:turtle:funktionen [2022/05/11 07:20] – angelegt lutz | python:turtle:funktionen [2022/05/12 08:02] (aktuell) – lutz | ||
---|---|---|---|
Zeile 6: | Zeile 6: | ||
{{ : | {{ : | ||
+ | |||
+ | In der Zeichnung kommen sehr viele Quadrate vor. Deshalb wäre es sehr schön, wenn man den Quelltext zum Zeichnen eines Quadrats zu einem Befehl zusammenfassen könnte. Dazu dient in Python das Konzept der **Funktionen**. Eine Funktion ist ein Quelltextfragment, | ||
+ | |||
+ | **Definition einer Funktion:** | ||
+ | |||
+ | <code python> | ||
+ | def funktionsname(): | ||
+ | ... Anweisungen ... | ||
+ | </ | ||
+ | |||
+ | |||
+ | **Aufruf einer Funktion im Programm:** | ||
+ | |||
+ | <code python> | ||
+ | ... Anweisungen ... | ||
+ | funktionsname() | ||
+ | ... Anweisungen ... | ||
+ | </ | ||
+ | |||
+ | 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) | ||
+ | </ | ||
+ | |||
+ | Aufgerufen werden kann die Funktion Quadrat dann durch den Befehl '' | ||
+ | |||
+ | |||
+ | **Vollständige Lösung:** | ||
+ | |||
+ | <code python> | ||
+ | from turtle import * | ||
+ | |||
+ | def quadrat(): | ||
+ | for i in range(4): | ||
+ | fd(50) | ||
+ | left(90) | ||
+ | penup() | ||
+ | goto(-200, | ||
+ | pendown() | ||
+ | for i in range(5): | ||
+ | quadrat() | ||
+ | penup() | ||
+ | fd(100) | ||
+ | pendown() | ||
+ | |||
+ | penup() | ||
+ | goto(-150, | ||
+ | pendown() | ||
+ | for i in range(4): | ||
+ | quadrat() | ||
+ | penup() | ||
+ | fd(100) | ||
+ | pendown() | ||
+ | |||
+ | penup() | ||
+ | goto(-200, | ||
+ | pendown() | ||
+ | for i in range(5): | ||
+ | quadrat() | ||
+ | penup() | ||
+ | fd(100) | ||
+ | pendown() | ||
+ | |||
+ | penup() | ||
+ | goto(-150, | ||
+ | pendown() | ||
+ | for i in range(4): | ||
+ | quadrat() | ||
+ | penup() | ||
+ | fd(100) | ||
+ | pendown() | ||
+ | |||
+ | |||
+ | penup() | ||
+ | goto(-200, | ||
+ | pendown() | ||
+ | for i in range(5): | ||
+ | quadrat() | ||
+ | penup() | ||
+ | fd(100) | ||
+ | pendown() | ||
+ | |||
+ | penup() | ||
+ | goto(-150, | ||
+ | pendown() | ||
+ | for i in range(4): | ||
+ | quadrat() | ||
+ | penup() | ||
+ | fd(100) | ||
+ | pendown() | ||
+ | |||
+ | penup() | ||
+ | goto(-200, | ||
+ | pendown() | ||
+ | for i in range(5): | ||
+ | quadrat() | ||
+ | penup() | ||
+ | fd(100) | ||
+ | pendown() | ||
+ | |||
+ | penup() | ||
+ | goto(-150, | ||
+ | pendown() | ||
+ | for i in range(4): | ||
+ | quadrat() | ||
+ | penup() | ||
+ | fd(100) | ||
+ | pendown() | ||
+ | |||
+ | penup() | ||
+ | goto(-200, | ||
+ | pendown() | ||
+ | for i in range(5): | ||
+ | quadrat() | ||
+ | penup() | ||
+ | fd(100) | ||
+ | pendown() | ||
+ | </ | ||
+ | |||
+ | Eine ausführliche Darstellung zu Funktionen findet ihr hier: | ||
+ | |||
+ | [[python: | ||
+ | |||
+ | **Aufgabe 18** | ||
+ | |||
+ | Teste das Beispielprogramm! | ||
+ | |||
+ | **Aufgabe 19** | ||
+ | |||
+ | Definiere in einem Programm die Funktionen '' | ||
+ | |||
+ | **Aufgabe 20** | ||
+ | |||
+ | Schreibe ein Pythonprogramm, | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | =====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 '' | ||
+ | |||
+ | <code python> | ||
+ | def vieleck(n): | ||
+ | for i in range(n): | ||
+ | fd(50) | ||
+ | left(360// | ||
+ | </ | ||
+ | |||
+ | 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) | ||
+ | </ | ||
+ | |||
+ | 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// | ||
+ | |||
+ | e = int(input(" | ||
+ | vieleck(e) | ||
+ | </ | ||
+ | |||
+ | 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 '' | ||
+ | |||
+ | **Aufgabe 23** | ||
+ | |||
+ | Erweitere das letzte Programm und definiere eine Funktion '' | ||
+ | |||
+ | **Aufgabe 24** | ||
+ | |||
+ | Schreibe ein Programm welches die olympischen Dreiecke, Vierecke und Sechsecke zeichnet. Nutze dazu die Funktion aus der letzten Aufgabe. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | {{ : | ||
+ |
python/turtle/funktionen.1652246413.txt.gz · Zuletzt geändert: 2022/05/11 07:20 von lutz