Bucles while en Python
Iterar hasta que una condición cambie, no hasta un conteo fijo.
n = 27
pasos = 0
while n != 1:
if n % 2 == 0:
n //= 2
else:
n = 3 * n + 1
pasos += 1
intentos = [50, 25, 37, 42]
objetivo = 42
while intentos:
intento = intentos.pop(0)
if intento == objetivo:
break
Cómo funciona
- La caminata de Collatz se repite hasta que
nllega a 1. - El cuerpo del bucle actualiza la misma condición que evalúa.
breaksale temprano apenas se encuentra el objetivo.
Palabras clave y builtins usados aquí
breakelseifwhile
El intento, en números
- Líneas
- 15
- Caracteres a escribir
- 199
- Tokens
- 67
- Ritmo de tres estrellas
- 90 tpm
Al ritmo de tres estrellas de 90 tokens por minuto, este intento toma unos 45 segundos.
Paso 3 de 7 en Control de flujo; paso 18 de 72 en Fundamentos del lenguaje.