ich bekunde etwas Mühe mit der rekursiven Berechnung der Mandelbrot-Menge.
Ich habe den folgenden Code geschrieben. Er ist (glaube ich) nicht schlecht, laut meinem Tutor könnte er aber "besser" sein. Meine Frage also: Wie würdet ihr diese rekursive Funktion schreiben?
Code: Alles auswählen
def mandelbrot(z, n_aktuell, c, n):
""" (complex, int, complex, int) -> int
Berechnet die Folge z_{n+1} = z_n^2 + c startend bei z_{n_aktuell} = n. Beim ersten Aufruf der Funktion müssen z und n_aktuell 0 sein.
Gibt die Anzahl Iterationen n zurück bis |z_n| <= 2 oder -1 falls keine Divergenz.
"""
if n > 0:
if (z.real*z.real + z.imag*z.imag) >= 4:
return n_aktuell
else:
return mandelbrot(z*z+c, n_aktuell+1, c, n-1)
else:
return -1