Rust · Nivel principiante · Etapa 4

Recorrer y modificar una lista de precios

Enumera precios, los agrupa por parejas y aplica un descuento mediante iteradores.

Qué hace este ejercicio

Trabaja con siete precios. Primero los enumera, después calcula grupos de dos elementos y, por último, reduce cada precio un 10 %. La cuarta etapa amplía los bucles con varios métodos de iteración.

Explicación

iter().enumerate() entrega cada referencia junto a su índice. El código suma uno al índice para mostrar una numeración que empieza en 1.

for (index, value) in prices.iter().enumerate() {
    println!("Item {}: ${:.2}", index + 1, value);
}

chunks(2) forma parejas consecutivas. Como hay siete precios, el último bloque contiene un único valor y se muestra como precio sin pareja. Finalmente, iter_mut permite modificar el array en el mismo lugar.

for price in prices.iter_mut() {
    *price *= 0.9;
    println!("${:.2}", price);
}

El formato {:.2} limita la salida visible a dos decimales.

Conceptos practicados

Cómo ejecutarlo

Este ejercicio no solicita entrada:

cargo run --bin desafioBucleMejorado

La salida presenta tres bloques: precios originales, parejas y precios con descuento. Observa el descuento de 2.25: se muestra como $2.02 porque {:.2} redondea el resultado real en punto flotante (2.0250000000000004).

salida real
cargo run --bin desafioBucleMejorado
Original Prices:
Item 1: $2.75
Item 2: $1.50
Item 3: $5.00
Item 4: $3.50
Item 5: $4.10
Item 6: $2.25
Item 7: $7.90

Bundle Deals:
Bundle 1: $2.75 + $1.50 = $4.25
Bundle 2: $5.00 + $3.50 = $8.50
Bundle 3: $4.10 + $2.25 = $6.35
Bundle 4: $7.90 (Sin pareja, precio individual)

Prices after 10% discount:
$2.48
$1.35
$4.50
$3.15
$3.69
$2.02
$7.11