Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Proyecto] Bucle infinito

Enunciado
André está probando una nueva función en el backend de Buscante que procesa datos en un bucle. Durante las pruebas, se dio cuenta de que el sistema dejó de responder y sospecha que el problema está en un bucle infinito.

contador = 0

while contador < 10:
    print("Procesando datos...")

¿Cuál es el problema del código de André y cómo resolverlo?

Solución

"""
El problema es que la condicion siempre sera verdadera por que contador
siempre valdra 0, por lo tanto contador siempre sera menor a 10.

La solucion hacer que el contador sume mas uno en cada iteracion, esto
hara que mi contador en algun momento llegue a valer 10 en este caso
la condicion sera False y terminar el bucle.
para esto agregamos una linea de codigo donde se le sume 1 al contador
"""
contador=0
while contador < 10:
    print("Procesando datos...")
    contador+=1
1 respuesta

Hola Jose,

Tu observación sobre el problema es correcta. El código original de André tiene un bucle infinito porque la variable contador nunca cambia dentro del bucle, por lo que la condición contador < 10 siempre será verdadera. Esto significa que el bucle continuará ejecutándose indefinidamente, causando que el sistema deje de responder.

Para resolver este problema, es necesario incrementar el valor de contador dentro del bucle. De esta forma, contador eventualmente alcanzará el valor 10, haciendo que la condición contador < 10 se convierta en falsa y el bucle termine. Aquí tienes el código corregido:

contador = 0

while contador < 10:
    print("Procesando datos...")
    contador += 1

Con esta modificación, el bucle imprimirá "Procesando datos..." diez veces y luego se detendrá, ya que contador aumentará en cada iteración hasta que ya no cumpla la condición del bucle.

Espero haber ayudado y buenos estudios!