2010-04-08 9 views
11
def foo(a): 
    a.append(1) 
    if len(a) > 10: 
     print a 
     return a 
    else: 
     foo(a) 

¿Por qué esta función recursiva devuelve None (ver transcripción a continuación)? No puedo entender lo que estoy haciendo mal.Recursión de Python con retornos de lista Ninguno

 
In [263]: x = [] 

In [264]: y = foo(x) 
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 

In [265]: print y 
None 

Respuesta

15

no devuelve nada en la cláusula else:

else: 
     return foo(a) 
+0

oh duh, mi estúpida. ¡Gracias! – newman

+1

¿Dónde estabas hace dos horas? –

Cuestiones relacionadas