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?
abbruchscript
einfach nen try - except - Block einschieben.
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.
Code: Alles auswählen
def r(z):
try:
return r(z+1)
except:
return z