For sobre series
Parte de la sección Fundamentos del Journey de Rust de Coddy. Lección 37 de 75.
A veces, al programar, es necesario realizar la misma operación o casi la misma un par de veces.
Para evitar escribir lo mismo una y otra vez, podemos usar bucles.
El bucle for tiene la siguiente sintaxis
for element in range {
code
}Una expresión range define cuántas veces debe ejecutarse el bucle; normalmente se escribe como start..end (que se ejecuta desde start hasta end-1) o start..=end (que se ejecuta desde start hasta end, incluido end).
Por ejemplo, un bucle de 0 a 5 (sin incluirlo):
for i in 0..5 {
println!("{}", i);
}Ejecutará la instrucción de impresión 5 veces:
0
1
2
3
4Los bucles tienen muchos usos. Por ejemplo, sumemos todos los números del 1 al 100:
let mut sum_numbers = 0;
for i in 1..=100 {
sum_numbers += i;
}
println!("{}", sum_numbers);Primero recorrerá en un bucle todos los números del 1 al 100 (incluido el 100 debido al signo ..=) y los sumará todos; después imprimirá la variable sum_numbers
Si por alguna razón quieres crear un bucle sin usar una variable (i), debes añadir un guion bajo al principio del nombre: _i. Esto le indicará al compilador que no pasa nada si no se usa, y evitará que el programa genere una advertencia:
for _i in 0..5 {
println!("Hello!");
}Desafío
PrincipianteLee un entero n (el código inicial ya lo hace). Usa un bucle for para imprimir "Hello Coddy: " y el valor de i para cada número del 3 al n, ambos incluidos.
Por ejemplo, si n es 6, la salida es:
Hello Coddy: 3
Hello Coddy: 4
Hello Coddy: 5
Hello Coddy: 6Si n es 27, el bucle imprime 25 líneas, desde Hello Coddy: 3 hasta Hello Coddy: 27.
Pruébalo tú mismo
use std::io;
fn main() {
let mut input = String::new();
io::stdin().read_line(&mut input).unwrap();
let n: i32 = input.trim().parse().unwrap();
// Escribe tu código a continuación
}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óduloAtajos aritméticosOperadores de comparaciónComparación de strings5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 33Variables Parte 2
Declaración de tiposConvenciones de nomenclaturaInferencia de tiposResumen - Inicializar variablesConversión de tipos9Bucles
For sobre seriesBucle WhileBreakContinueBucle anidadoEtiquetas de bucleBucle infinitoResumen - Entrada dinámicaPractica por tu cuenta: Compilador de Rust online