Bird
Raised Fist0
Rustprogramming~5 mins

For loop in Rust

Choose your learning style10 modes available
Introduction

A for loop helps you repeat actions easily without writing the same code many times.

When you want to print numbers from 1 to 10.
When you need to check each item in a list or array.
When you want to add up all values in a collection.
When you want to repeat a task a fixed number of times.
When you want to process each character in a word.
Syntax
Rust
for variable in collection {
    // code to repeat
}

The variable takes each value from the collection one by one.

The collection can be a range, array, vector, or anything you can loop over.

Examples
This prints numbers 1 to 4. The range 1..5 means from 1 up to but not including 5.
Rust
for i in 1..5 {
    println!("{}", i);
}
This goes through each fruit in the array and prints a message.
Rust
let fruits = ["apple", "banana", "cherry"];
for fruit in fruits.iter() {
    println!("I like {}", fruit);
}
This loops over each character in the word "hello" and prints it.
Rust
for c in "hello".chars() {
    println!("{}", c);
}
Sample Program

This program loops over the array numbers and prints each number with a label.

Rust
fn main() {
    let numbers = [10, 20, 30];
    for num in numbers.iter() {
        println!("Number: {}", num);
    }
}
OutputSuccess
Important Notes

Rust's for loop provides each item by value from the collection (copies for Copy types), so you don't need to use indexes.

The range a..b includes a but excludes b. Use a..=b to include b.

Summary

Use a for loop to repeat actions over items in a collection.

The loop variable takes each item one by one.

Ranges and arrays are common collections to loop over.

Practice

(1/5)
1. What does a for loop do in Rust?
easy
A. Declares a variable
B. Defines a new function
C. Repeats actions for each item in a collection
D. Stops the program immediately

Solution

  1. Step 1: Understand the purpose of a for loop

    A for loop runs code repeatedly for each item in a list or range.
  2. Step 2: Match the description to the options

    Only Repeats actions for each item in a collection describes repeating actions over items in a collection.
  3. Final Answer:

    Repeats actions for each item in a collection -> Option C
  4. Quick Check:

    For loop = repeat over items [OK]
Hint: For loops repeat actions over collections [OK]
Common Mistakes:
  • Confusing for loop with function definition
  • Thinking for loop declares variables
  • Believing for loop stops program
2. Which of these is the correct syntax for a for loop iterating over numbers 1 to 3 in Rust?
easy
A. for i = 1 to 3 { println!("{}", i); }
B. for i in 1..=3 { println!("{}", i); }
C. for (i in 1..3) println!("{}", i);
D. for i in range(1,3) { println!("{}", i); }

Solution

  1. Step 1: Recall Rust for loop syntax

    Rust uses for variable in range { } with ranges like 1..=3 to include 3.
  2. Step 2: Check each option

    for i in 1..=3 { println!("{}", i); } uses correct Rust syntax with inclusive range. Others use invalid syntax or functions not in Rust.
  3. Final Answer:

    for i in 1..=3 { println!("{}", i); } -> Option B
  4. Quick Check:

    Rust for loop uses in and ranges [OK]
Hint: Use 'for var in start..=end' for inclusive ranges [OK]
Common Mistakes:
  • Using 'to' instead of 'in' keyword
  • Using parentheses around loop variable
  • Using Python or other language range syntax
3. What is the output of this Rust code?
let mut sum = 0;
for i in 1..4 {
    sum += i;
}
println!("{}", sum);
medium
A. 6
B. 10
C. 9
D. 7

Solution

  1. Step 1: Identify the loop range and iterations

    The loop runs for i = 1, 2, 3 because 1..4 excludes 4.
  2. Step 2: Calculate the sum of iterations

    sum = 0 + 1 + 2 + 3 = 6
  3. Final Answer:

    6 -> Option A
  4. Quick Check:

    1+2+3 = 6 [OK]
Hint: Remember range excludes the end number [OK]
Common Mistakes:
  • Including 4 in the sum
  • Starting sum at 1 instead of 0
  • Confusing inclusive and exclusive ranges
4. Find the error in this Rust for loop code:
for i in 0..5
    println!("{}", i);
}
medium
A. Variable i is not declared
B. Range syntax is incorrect
C. println! macro is used incorrectly
D. Missing curly braces around loop body

Solution

  1. Step 1: Check loop syntax

    Rust requires curly braces { } around the loop body if it has more than one statement or to be explicit.
  2. Step 2: Identify the missing brace

    The code has a closing brace '}' without an opening brace '{' before println!().
  3. Final Answer:

    Missing curly braces around loop body -> Option D
  4. Quick Check:

    For loop body needs braces [OK]
Hint: Always use braces {} for loop bodies [OK]
Common Mistakes:
  • Forgetting opening brace
  • Assuming range syntax is wrong
  • Thinking variable needs declaration outside loop
5. How can you use a for loop in Rust to print only even numbers from 2 to 10 inclusive?
hard
A. for i in 2..=10 { if i % 2 == 0 { println!("{}", i); } }
B. for i in 2..10 { if i % 2 = 0 { println!("{}", i); } }
C. for i in 2..=10 { if i / 2 == 0 { println!("{}", i); } }
D. for i in 2..=10 { if i % 2 != 0 { println!("{}", i); } }

Solution

  1. Step 1: Understand the range and condition

    We want numbers from 2 to 10 inclusive, so use 2..=10. To print even numbers, check if remainder when divided by 2 is zero.
  2. Step 2: Check each option's condition

    for i in 2..=10 { if i % 2 == 0 { println!("{}", i); } } correctly uses i % 2 == 0. for i in 2..10 { if i % 2 = 0 { println!("{}", i); } } uses assignment (=) instead of comparison (==). for i in 2..=10 { if i / 2 == 0 { println!("{}", i); } } uses division instead of modulo. for i in 2..=10 { if i % 2 != 0 { println!("{}", i); } } prints odd numbers.
  3. Final Answer:

    for i in 2..=10 { if i % 2 == 0 { println!("{}", i); } } -> Option A
  4. Quick Check:

    Use modulo == 0 for even check [OK]
Hint: Use 'if i % 2 == 0' inside for loop [OK]
Common Mistakes:
  • Using '=' instead of '==' in condition
  • Using division instead of modulo
  • Printing odd numbers by mistake
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard