Zählen der Rekursion in einem Python-Programm! [Duplikat]

8

Ich muss die Anzahl der Wiederholungen in einem Python-Programm zählen. Also im Grunde brauche ich eine statische Variable Art von Sache (wie in C), die die Anzahl zählen kann, wie oft die Funktion aufgerufen wird.

    
Mojo_Jojo 26.03.2011, 08:41
quelle

5 Antworten

21

Übergeben Sie einfach einen Zähler mit der Rekursion

%Vor%

Oder ich bin sicher, dass es einen ausgefallenen Dekorateur gibt, ich werde das jetzt untersuchen ...

    
Jakob Bowyer 26.03.2011, 09:03
quelle
5

Eine andere Methode, die global verwendet:

%Vor%     
DTing 26.03.2011 09:11
quelle
5

Sie können eine aufrufbare Klasse Counter definieren, mit der Sie jede Funktion umbrechen können:

%Vor%

Der Vorteil ist, dass Sie es für jede Funktion verwenden können, ohne die Signatur ändern zu müssen.

BEARBEITEN : Danke an @Tom Zych für die Entdeckung eines Fehlers. Der Name recur muss von der Instanz der aufrufbaren Klasse maskiert werden, damit dies funktioniert. Weitere Informationen über Dekorateure finden Sie hier:

Ссылка

    
juanchopanza 26.03.2011 09:58
quelle
4

Eine Möglichkeit wäre, ein list zu verwenden, das ein Element enthält, das angibt, wie oft die Funktion eingegeben wurde.

%Vor%     
MAK 26.03.2011 08:47
quelle
1
%Vor%     
N 1.1 26.03.2011 09:06
quelle

Tags und Links