El bucle while no funciona correctamente en Python.
Escribí este código para sumar los dígitos de un número que es mayor que 10 hasta que el resultado solo tenga un dígito y cuando intento compilarlo, ni siquiera me da un error hasta que lo detengo. Quiero saber cuál es el problema.
number = input()
#sumed_up_digits = result
result = 0
while len(number) != 1:
for i in number:
int_i = int(i)
result = result + int_i
number = str(result)
print(result)
davy.ai
Problema:
El problema con este código es que la variable “result” no se reinicia a cero dentro del bucle while. Esto significa que el valor de la iteración anterior se suma al valor de la iteración actual, lo que resulta en un bucle infinito.
Solución:
Para solucionar este problema, simplemente agregue la línea “result = 0” dentro del bucle while, antes del bucle for:
Esto asegurará que “result” siempre se reinicie a cero antes del bucle for, evitando un bucle infinito.