GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing opentechschool.github.io — Funktionen mit Parametern — Introduction to Programming with Python Funktionen mit Parametern¶Einführung¶Wenn wir unseren Code minimieren und Funktionen hinzufügen um Wiederholungen zu entfernen faktorisieren wir ihn. Das ist eine gute Sache. Aber die Funktionen die wir bis jetzt definiert haben sind nicht sehr flexibel. Die Variablen sind innerhalb der Funktionen definiert, falls wir also einen anderen Winkel oder Distanz benutzen wollen müssen wir eine neue Funktion schreiben. Unsere hexagon-Funktion kann nur Hexagone einer Größe zeichnen! Deshalb benötigen wir die Möglichkeit Parameter, auch Argumente genannt, an eine Funktion zu übergeben. So können die Variablen innerhalb der Funktion jedes Mal wenn die Funktion aufgerufen wird, andere Werte annehmen: Erinnere Dich wie wir die Funktion def line_without_moving(): turtle.forward(50) turtle.backward(50) Wir können die Funktion verbessern, indem wir ihr einen Parameter übergeben: def line_without_moving(length): turtle.forward(length) turtle.backward(length) Der Parameter fungiert als Variable die nur innerhalb der Funktionsdefinition bekannt ist. Wir verwenden diese neu definierte Funktion, indem wir sie mit dem Wert für den Parameter aufrufen: line_without_moving(50) line_without_moving(40) Wir haben bereits seit dem Anfang des Tutorials Funktionen mit Parametern verwendet, z.B. Wir können so viele Argumente (oder Parameter) wie wir möchten für eine Funktio definieren. Die einzelnen Argumente sind dabei durch Kommata getrennt und haben alle unterschiedliche Namen: def tilted_line_without_moving(length, angle): turtle.left(angle) turtle.forward(length) turtle.backward(length) Eine parametrisierte Funktion für ein Hexagon mit variabler Grösse¶Übung¶Schreibe eine Funktion die Dir jedes Mal wenn Du die Funktion aufrufsts, erlaubt Hexagone mit beliebiger Grösse zu zeichnen. Lösung¶def hexagon(size): for _ in range(6): turtle.forward(size) turtle.left(60) Eine Funktion mit mehreren Parametern¶Übung¶Schreib eine Funktion die eine Form mit irgendeiner Anzahl von Seiten (lass uns annehmen mehr als zwei) von irgendeiner Seitenlänge zeichnet. Lass sie ein paar verschiedene Formen malen. Hier ist ein Beispiel wie man Formen mit dieser Funktion malt:
Tipp Die Summe der Außenwinkel in jeder Form ist immer 360 Grad! Lösung¶def draw_shape(sides, length): for _ in range(sides): turtle.forward(length) turtle.right(360 / sides) Bonus¶Es mag verrückt klingen, aber es ist durchaus möglich eine Funktion als Parameter einer anderen Funktion zu übergeben. Python betrachten Funktionen als total normale ‘Dinge’, genauso wie Variablen, Nummern oder Zeichenketten (Strings). Man könnte zum Beispiel eine Funktion zum Zeichnen von Formen schreiben die, abhängig von der turtle-Funktion ( Schau ob du das implementieren kannst! Bemerkung Eine Funktion (bspw. |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |