Estudiando el tema de los nodos y sus recorridos me surgio una duda con el bucle while. Para entrar en un bucle while la condicion debe ser verdadera. Hasta ahi nada nuevo. Osea, solo que pongamos:
Código
while 1: pass
Entramos en el bucle. Y esto es por que 1 es True.
Código
1 == True True
Pero...
Código
2 == True False
No devuelve False ¿Entonces como es que se entra en el bucle while?
Código
x = 0 while 2: print('hola') x += 1 if x == 5: break
Con este codigo se ejecuta el bucle. Seguro que la duda es muy tonta y alguna explicacion tiene que se me ha pasado por alto.
El codigo del nodo es el tipico:
Código
class Nodo: def __init__(self, carga = None, prox = None): self.carga = carga self.prox = prox def __str__(self): return str(self.carga) n4 = Nodo(4) n3 = Nodo(3, n4) n2 = Nodo(2, n3) n1 = Nodo(1, n2) def recorrer(nodo): print(nodo) while nodo: print(nodo) nodo = nodo.prox # Aqui podemos ver como n2 vale 2 y si es false ¿Por que se entra en while? recorrer(n2)