Seite 1 von 1

abbruchscript

Verfasst: Donnerstag 13. Februar 2003, 13:48
von Gast
Hallöle
Ich hätte da mal die frage wie ich folgendes Problem lösen könnte:
Ich will Rekursion betreiben, wenn die höchstmögliche Rekursionstiefe erreicht wird, soll er aber keine Fehlermeldung ausgeben, sondern die Rekursion beenden.
Wie kann man das machen?

Verfasst: Donnerstag 13. Februar 2003, 14:03
von Milan
einfach nen try - except - Block einschieben.

Code: Alles auswählen

def r(z):
    try:
        return r(z+1)
    except:
        return z
try führt Aktionen aus, mit der Option, dass Fehler auftreten können. Mit except fängt man die dann auf und definiert was stattdessen zu tun ist. (man kann auch den Fehler spezialisieren, in dem man except RuntimeError schreibt). Hier in dem Fall wird nicht mehr weiter r(z+1) gerufen, sondern ein konkreter Wert zurückgegeben und somit die Rekursion beendet. Bei mir kommt für r(1) zum Beispiel dann 989 statt ein Fehler raus.