Benutzer-Werkzeuge

Webseiten-Werkzeuge


python:turtle:rekursion

Dies ist eine alte Version des Dokuments!


Rekursion

Eine Funktion heißt rekursiv wenn sie sich in ihrem im Quelltext selbst aufruft.

Ein Beispiel

Eine Pythonfunktion soll ein Quadrat, beginnend in der linken oberen Ecke in einer zufälligen Farbe zeichnen. Nun sollen in das Quadrat hinein jeweils Quadrate in einer zufälligen Farbe gezeichnet werden, bis kein Platz mehr ist.

from turtle import *
import random
 
farben = ["red", "green", "blue", "yellow", "orange", "purple", "pink", "brown", "gray", "gold", "cyan", "magenta", "violet", "indigo", "lime", "navy", "skyblue", "turquoise", "olive", "maroon"]
 
def quadrat(n):
    pencolor(random.choice(farben))
    pensize(5)
    for i in range(4):
        fd(n)
        right(90)
    if (n-10) > 0:
        penup()
        fd(5)
        right(90)
        fd(5)
        left(90)
        pendown()
 
        # Die Funktion quadrat(n) ruft sich selbst auf!
 
        quadrat(n-10)
 
quadrat(100)

Mit Rekursion kann man sehr effizient programmieren, allerdings ist der Quelltext auch manchmal schwer zu verstehen. Außerdem benötigen rekursiver Programme mehr Hauptspeicher. Rekursion wird vor allem bei der funktionalen Programmierung verwendet.

python/turtle/rekursion.1777278301.txt.gz · Zuletzt geändert: von lutz