Bucle While
Parte de la sección Fundamentos del Journey de Ruby de Coddy — lección 40 de 88.
El bucle for funciona de maravilla cuando sabes exactamente cuántas veces repetir. Pero, ¿qué pasa si quieres seguir repitiendo hasta que cambie una determinada condición? Ahí es donde entra el bucle while.
Un bucle while continúa ejecutándose mientras su condición siga siendo verdadera:
count = 1
while count <= 3
puts count
count += 1
endEsto muestra 1, 2 y 3. El bucle comprueba la condición antes de cada iteración. Una vez que count se convierte en 4, la condición count <= 3 es falsa y el bucle se detiene.
La diferencia clave con respecto a un bucle for es que tú controlas cuándo termina el bucle cambiando una variable dentro del mismo. ¡Si olvidas actualizar la variable, el bucle se ejecutará para siempre! Aquí tienes un ejemplo de cuenta regresiva:
num = 5
while num > 0
puts num
num -= 1
end
puts "Done!"Esto cuenta regresivamente de 5 a 1, luego imprime "Done!" después de que el bucle termina. El bucle while es especialmente útil cuando no sabes de antemano cuántas iteraciones necesitarás.
Desafío
FácilLee un número n de la entrada. Usa un bucle while para imprimir todos los números desde n hasta 1, cada uno en su propia línea. Después de que termine la cuenta regresiva, imprime Blastoff! en una nueva línea.
La entrada será un único entero que representa el número inicial para la cuenta regresiva.
Por ejemplo, si la entrada es 5, la salida debería ser:
5
4
3
2
1
Blastoff!Hoja de referencia
Un bucle while continúa ejecutándose mientras su condición siga siendo verdadera:
count = 1
while count <= 3
puts count
count += 1
endEl bucle comprueba la condición antes de cada iteración. Debes actualizar la variable dentro del bucle para que finalmente la condición sea falsa; de lo contrario, el bucle se ejecutará indefinidamente.
Ejemplo de cuenta regresiva:
num = 5
while num > 0
puts num
num -= 1
end
puts "Done!"Utiliza bucles while cuando no sepas de antemano cuántas iteraciones necesitarás, o cuando quieras iterar hasta que cambie una condición.
Pruébalo tú mismo
# Leer el número inicial
n = gets.chomp.to_i
# TODO: Escribe tu código a continuación
# Usa un bucle while para imprimir los números desde n hasta 1
# Luego imprime "Blastoff!"Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 3Operadores lógicos Parte 47Calculadora para dividir la cuenta
Mensaje de bienvenidaObtener la entrada del usuario10FizzBuzz con un giro
Descripción general del juegoEl método FizzBuzz2Variables y tipos de datos
Números y variablesTipo de dato StringTipo de dato BooleanTipo de dato SymbolComprobación de tipos de datosConvenciones de nomenclaturaResumen: Creación de variables5Toma de decisiones
Sentencia IfIf - ElseRepaso - Calculadora simpleIf - Else anidadosSentencia Unless8Bucles
Bucle For con rangosBucle WhileBreakNextRepaso - FactorialBucle TimesBucle UntilBucles anidadosRepaso - Entrada dinámica3Operadores Parte 1
Operadores aritméticosOperador móduloAtajos aritméticosResumen - Matemáticas simplesOperadores de comparación6Entrada y Salida Básica
Salida con putsSalida con print y pSalida con variablesEntrada con getsMétodo chompConversión de tiposResumen - Calculadora de edadResumen - Verdadero o falso