J'ai une fonction qui appelle elle-même pour incrémenter et décrémenter une pile.Python: réinitialise la valeur par défaut d'une fonction pour les appels suivants à la fonction
Je dois appeler un certain nombre de fois, et je voudrais que cela fonctionne de la même façon dans les prochains appels
mais, comme prévu, il ne réutilisez pas la valeur par défaut.
J'ai lu que c'est un piège débutant et j'ai vu des solutions proposées, mais je ne l'ai pas été en mesure
pour tout travail de solution.
Il serait agréable d'être en mesure de « fun.reset »
def a(x, stack = [None]):
print x,' ', stack
if x > 5:
temp = stack.pop()
if x <=5:
stack.append(1)
if stack == []:
return
a(x + 1)
print a(0)
print a(2) #second call
print a(3) #third call
Je pensais que cela fonctionne, mais il ne fonctionne pas.
print a(0, [None])
print a(2, [None]) #second call
print a(3, [None]) #third call
Puis-je réinitialiser la fonction à son état initial?
Toute aide serait appréciée.
C'est tout. C'est évident maintenant que cela m'a été signalé. Merci –