Bucle While
Parte de la sección Fundamentos del Journey de Swift de Coddy — lección 43 de 86.
A veces no sabes exactamente cuántas veces debe ejecutarse un bucle. En su lugar, quieres seguir iterando mientras una condición siga siendo verdadera. Ahí es donde entra en juego el bucle while.
var count = 1
while count <= 3 {
print(count)
count += 1
}
// Salida: 1, 2, 3 (cada uno en una línea nueva)El bucle comprueba la condición count <= 3 antes de cada iteración. Mientras sea verdadera, el código de su interior se ejecuta. Una vez que la condición se vuelve falsa, el bucle se detiene.
Ten cuidado: si la condición nunca se vuelve falsa, ¡crearás un bucle infinito! Asegúrate siempre de que algo dentro del bucle cambie eventualmente la condición:
var number = 10
while number > 0 {
print(number)
number -= 2
}
// Salida: 10, 8, 6, 4, 2Usa un bucle while cuando el número de iteraciones depende de una condición que cambia durante la ejecución, en lugar de un rango fijo.
Desafío
FácilEscribe una función countdownSum que tome start y devuelva la suma de todos los números desde start hasta 1.
Usa un bucle while para contar hacia atrás desde el número inicial, sumando cada valor a un total acumulado hasta llegar a cero.
Lógica:
- Comienza con el número dado
- Mientras el número sea mayor que 0, súmalo a la suma y disminúyelo en 1
- Devuelve la suma final
Parámetros:
start(Int): El número inicial para la cuenta regresiva
Devuelve: La suma de todos los números desde start hasta 1 (Int)
Por ejemplo, si start es 5, la función calcula 5 + 4 + 3 + 2 + 1 = 15 y devuelve 15.
Hoja de referencia
Un bucle while repite el código mientras una condición sea verdadera:
var count = 1
while count <= 3 {
print(count)
count += 1
}
// Salida: 1, 2, 3La condición se comprueba antes de cada iteración. Cuando se vuelve falsa, el bucle se detiene.
Asegúrate siempre de que la condición eventualmente se vuelva falsa para evitar bucles infinitos:
var number = 10
while number > 0 {
print(number)
number -= 2
}
// Salida: 10, 8, 6, 4, 2Usa bucles while cuando el número de iteraciones dependa de una condición cambiante en lugar de un rango fijo.
Pruébalo tú mismo
func countdownSum(start: Int) -> Int {
// Escribe el código aquí
}
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 1
Operadores aritméticosOperador de móduloAsignación compuestaResumen - Matemáticas simplesOperadores de comparación7E/S Básica
Función PrintInterpolación de StringsEntrada ReadLineConversión de TiposRepaso - Hasta 120Repaso - Verdadero o Falso10Funciones
Declarar una funciónParámetros y argumentosValores de retornoEtiquetas de argumentosResumen - Función SigmaResumen - Función de validaciónValores por defecto13Iterar sobre secuencias
Iterar sobre elementosEl método enumerateIterar sobre cadenas P1Iterar sobre cadenas P22Variables
Let vs VarAnotaciones de tiposNúmerosStringsBooleanosConvenciones de nomenclaturaResumen - Inicializar variables5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 3Operador ternario8Calculadora para dividir la cuenta
Mensaje de bienvenidaObtener la entrada de datos11FizzBuzz con un giro
Descripción general del juegoLa función FizzBuzz3Opcionales
Qué son los opcionalesDesempaquetado con If LetGuard LetOperador de coalescencia nulaResumen - Desempaquetado seguro6Toma de decisiones
Sentencia IfIf - ElseRepaso - Calculadora simpleSentencia SwitchSwitch con rangos9Bucles
Bucle For-InBucle WhileBucle Repeat-WhileBreakContinueRepaso - FactorialRangos en buclesBucle anidadoRepaso - Entrada dinámica