Bird
Raised Fist0
Rustprogramming~10 mins

Loop execution flow in Rust - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to print numbers from 1 to 5 using a loop.

Rust
for i in 1..=[1] {
    println!("{}", i);
}
Drag options to blanks, or click blank then click option'
A10
B6
C0
D5
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using 6 will print numbers up to 6, which is one more than needed.
Using 0 will cause the loop to not run as expected.
2fill in blank
medium

Complete the code to skip printing the number 3 inside the loop.

Rust
for i in 1..=5 {
    if i == [1] {
        continue;
    }
    println!("{}", i);
}
Drag options to blanks, or click blank then click option'
A2
B4
C3
D5
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using a number other than 3 will skip the wrong iteration.
Forgetting to use continue will print all numbers.
3fill in blank
hard

Fix the error in the loop to stop printing numbers when i equals 4.

Rust
for i in 1..=5 {
    if i == [1] {
        break;
    }
    println!("{}", i);
}
Drag options to blanks, or click blank then click option'
A4
B5
C6
D3
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using 5 will print 4 before stopping, which is not desired.
Using 3 will stop too early.
4fill in blank
hard

Fill both blanks to create a loop that prints only even numbers from 1 to 10.

Rust
for i in 1..=[1] {
    if i % 2 [2] 0 {
        println!("{}", i);
    }
}
Drag options to blanks, or click blank then click option'
A10
B==
C!=
D5
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using '!=' will print odd numbers instead.
Using 5 as upper limit will miss numbers 6 to 10.
5fill in blank
hard

Fill all three blanks to create a loop that collects numbers greater than 3 into a vector.

Rust
let mut result = Vec::new();
for num in 1..=[1] {
    if num [2] [3] {
        result.push(num);
    }
}
println!("{:?}", result);
Drag options to blanks, or click blank then click option'
A5
B>
C3
D==
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using '==' instead of '>' will only select number 3, not greater numbers.
Using 3 as upper limit will miss number 4 and 5.

Practice

(1/5)
1. What does the break statement do inside a Rust loop?
easy
A. It restarts the loop from the beginning.
B. It skips the current iteration and continues with the next one.
C. It pauses the loop until a condition is met.
D. It stops the loop immediately and exits it.

Solution

  1. Step 1: Understand the role of break in loops

    The break statement immediately stops the loop and exits it.
  2. Step 2: Compare with other loop controls

    continue skips to the next iteration, but break ends the loop entirely.
  3. Final Answer:

    It stops the loop immediately and exits it. -> Option D
  4. Quick Check:

    break stops loop = C [OK]
Hint: Remember: break = stop loop, continue = skip iteration [OK]
Common Mistakes:
  • Confusing break with continue
  • Thinking break pauses instead of stops
  • Assuming break restarts the loop
2. Which of the following is the correct syntax to skip the current iteration in a Rust for loop?
easy
A. skip;
B. continue;
C. break;
D. next;

Solution

  1. Step 1: Identify the keyword to skip iteration

    In Rust, continue; skips the rest of the current loop iteration and moves to the next.
  2. Step 2: Check other options for correctness

    break; stops the loop, skip; and next; are not valid Rust keywords for this purpose.
  3. Final Answer:

    continue; -> Option B
  4. Quick Check:

    Skip iteration = continue [OK]
Hint: Use continue to skip current loop iteration [OK]
Common Mistakes:
  • Using break instead of continue
  • Using non-existent keywords like skip or next
  • Omitting the semicolon
3. What will be the output of this Rust code?
let mut count = 0;
loop {
    count += 1;
    if count == 3 {
        break;
    }
    println!("{}", count);
}
medium
A. 1 2 3
B. 0 1 2
C. 1 2
D. 3

Solution

  1. Step 1: Trace the loop iterations and print statements

    Loop increments count from 0 to 1, prints 1; then 2, prints 2; when count is 3, break stops loop before printing.
  2. Step 2: Determine printed values

    Only 1 and 2 are printed before break stops the loop.
  3. Final Answer:

    1 2 -> Option C
  4. Quick Check:

    Prints before break = 1 2 [OK]
Hint: Break stops before printing count 3 [OK]
Common Mistakes:
  • Assuming count 3 is printed
  • Starting count from 1 instead of 0
  • Confusing break and continue effects
4. Identify the error in this Rust loop code:
for i in 1..5 {
    if i == 3 {
        continue
    }
    println!("{}", i);
}
medium
A. Missing semicolon after continue
B. Incorrect range syntax
C. println! macro is used incorrectly
D. continue cannot be used inside for loops

Solution

  1. Step 1: Check syntax of continue statement

    In Rust, statements like continue require a semicolon to end the statement.
  2. Step 2: Verify other parts of the code

    The range 1..5 and println! usage are correct; continue is valid inside for loops.
  3. Final Answer:

    Missing semicolon after continue -> Option A
  4. Quick Check:

    Statements need semicolon = A [OK]
Hint: Add semicolon after continue to fix syntax [OK]
Common Mistakes:
  • Forgetting semicolon after continue
  • Thinking continue is invalid in for loops
  • Misreading range syntax
5. Given this Rust code, what will be the final value of sum?
let mut sum = 0;
for i in 1..6 {
    if i % 2 == 0 {
        continue;
    }
    if i == 5 {
        break;
    }
    sum += i;
}
hard
A. 4
B. 5
C. 6
D. 9

Solution

  1. Step 1: Analyze loop iterations and conditions

    Loop runs i from 1 to 5 (exclusive 6). For even i, continue skips adding. For i == 5, break stops loop before adding.
  2. Step 2: Calculate sum for valid i values

    i=1 (odd, add 1), i=2 (even, skip), i=3 (odd, add 3), i=4 (even, skip), i=5 (break before add). sum = 1 + 3 = 4.
  3. Final Answer:

    4 -> Option A
  4. Quick Check:

    Sum odd before 5 = 4 [OK]
Hint: Add only odd numbers before 5, skip evens [OK]
Common Mistakes:
  • Adding even numbers mistakenly
  • Including 5 in sum despite break
  • Confusing continue and break effects
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