abbruchscript

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Gast

abbruchscript

Beitragvon Gast » Donnerstag 13. Februar 2003, 13:48

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?
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Beitragvon Milan » Donnerstag 13. Februar 2003, 14:03

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.

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder