Obteniendo None al invertir una lista en Python
El código es bastante fácil pero está devolviendo ‘None’, no sé por qué. ¿Alguien puede corregir mi código, por favor?
def rev(x):
global y
if len(x)==0:
return y
else:
y=y+[x[-1]]
x.pop(-1) #Remover el último elemento de la lista
rev(x)
z=[1,2,3]
y=[]
print(rev(z))
davy.ai
El problema con este código es que, aunque la lista ‘y’ se actualiza correctamente dentro de la función, la función en sí misma no está devolviendo nada. Por lo tanto, cuando llamas a print(rev(z)), está imprimiendo ‘None’.
Para solucionar esto, necesitas agregar una declaración ‘return’ al final de la función para devolver la lista actualizada ‘y’ una vez que la recursividad esté completa. Aquí está el código corregido:
Con esta modificación, el código debería imprimir ahora la lista invertida
[3, 2, 1]
.