Rekursive Funktion
Verfasst: Montag 26. Mai 2003, 14:16
Könnte mir mal bitte jemand verständlich erklären was eine rekursive Funktion ist. Was bedeutet es das sie sich selbst aufruft und wie?
Seit 2002 Diskussionen rund um die Programmiersprache Python
https://www.python-forum.de/
Ein klassisches Beispiel ist hier die Fakultät. Sie läßt sich nämlich ausdrücken als fak(x) = x * fak(x-1) mit fak(1) = 1.HarryH hat geschrieben:Könnte mir mal bitte jemand verständlich erklären was eine rekursive Funktion ist. Was bedeutet es das sie sich selbst aufruft und wie?
Code: Alles auswählen
def fak(x):
if x > 1:
return x * fak(x-1)
else:
return 1
Code: Alles auswählen
def fak(x):
if x > 1:
print "%d *" % x,
return x * fak(x-1)
else:
print "1"
return 1
Code: Alles auswählen
def fak(x):
return reduce(lambda x,y:x*y, range(1,x+1) or (0,))
Zum glück terminiert Python bei zu tiefer Rekursion von selbst und sauber, wenn es Dir passiert, daß eine rekursive Funktion aus dem Ruder läuft, passierts bei anderen Programmiersprachen, daß bestenfalls das Programm abstürzt, schlimmstenfalls hängt sich der ganze Computer auf.Wichtig ist hier eine konkrete Abbruchbedingung. Bei zu vielen Rekursionen gibt nämlich Python sonst auf.
Nicht, wenn sich das nur einem Verzeichnis abspielt. Denn dann brauchst Du nur die Dateien dieses einen Verzeichnisses ermitteln und gucken, welche die neueste ist.HarryH hat geschrieben:Geht das mit einer rekursiven Funktion?