๐ Scenario: Imagine you have a countdown timer for a game or event. You want to count down from a starting number to zero, showing each number as it goes down.
๐ฏ Goal: You will create a Rust program that uses a while loop to count down from a number to zero and print each number.
๐ What You'll Learn
Create a variable called count with the starting number 5
Create a variable called step with the value 1
Use a while loop that runs while count is greater than or equal to 0
Inside the loop, print the current value of count
Inside the loop, decrease count by step
Print the final message "Countdown finished!" after the loop ends
๐ก Why This Matters
๐ Real World
Countdown timers are used in games, cooking timers, and event reminders to show time left.
๐ผ Career
Understanding loops and conditions is essential for programming tasks like automation, game development, and system monitoring.
Progress0 / 4 steps
1
Create the countdown starting number
Create a variable called count and set it to the number 5.
Rust
Hint
Use let mut count = 5; to create a variable that can change.
2
Add the step variable
Add a variable called step and set it to 1 inside the main function, below count.
Rust
Hint
Use let step = 1; to create a fixed step size.
3
Write the while loop to count down
Write a while loop that runs while count is greater than or equal to 0. Inside the loop, print the value of count and then subtract step from count.
Rust
Hint
Use while count >= 0 { ... } and inside print with println!("{}", count); then subtract with count -= step;.
4
Print the final message after the loop
After the while loop, write a println! statement to print "Countdown finished!".
Rust
Hint
Use println!("Countdown finished!"); after the loop.
Practice
(1/5)
1.
What does a while loop do in Rust?
easy
A. Stops the program immediately
B. Runs code only once
C. Repeats code a fixed number of times
D. Repeats code as long as a condition is true
Solution
Step 1: Understand the purpose of a while loop
A while loop runs repeatedly while its condition is true.
Step 2: Compare options with this behavior
Only Repeats code as long as a condition is true describes repeating code while a condition is true.
Final Answer:
Repeats code as long as a condition is true -> Option D
Quick Check:
while loop = repeat while true [OK]
Hint: While loops run while condition is true [OK]
Common Mistakes:
Confusing while loop with for loop
Thinking while loop runs fixed times
Believing while loop runs once only
2.
Which of the following is the correct syntax for a while loop in Rust?
??? x < 5 {
println!("{}", x);
x += 1;
}
easy
A. while
B. loop
C. for
D. if
Solution
Step 1: Identify the keyword for a while loop
The keyword to start a while loop is while.
Step 2: Check other keywords
loop is an infinite loop, for is for fixed iteration, if is conditional, not looping.
Final Answer:
while -> Option A
Quick Check:
while keyword starts while loop [OK]
Hint: While loops start with 'while' keyword [OK]
Common Mistakes:
Using 'loop' instead of 'while'
Using 'for' for while loops
Using 'if' instead of loop keyword
3.
What will be the output of this Rust code?
let mut count = 1;
while count <= 3 {
println!("{}", count);
count += 1;
}
medium
A. No output
B. 1 2 3 4
C. 1 2 3
D. 0 1 2
Solution
Step 1: Analyze the loop condition and variable
The loop runs while count is less than or equal to 3, starting at 1.
Step 2: Trace the output values
It prints 1, then 2, then 3, then stops because count becomes 4.
Final Answer:
1 2 3 -> Option C
Quick Check:
Prints 1 to 3 inclusive [OK]
Hint: Count from 1 to 3 prints 1 2 3 [OK]
Common Mistakes:
Thinking it prints 4
Starting count at 0
Assuming no output
4.
Find the error in this Rust code using a while loop:
let mut i = 0;
while i < 5 {
println!("{}", i);
}
medium
A. Wrong comparison operator in while condition
B. Missing increment of 'i' inside the loop
C. 'i' should be immutable, not mutable
D. println! macro syntax is incorrect
Solution
Step 1: Check loop variable update
The variable 'i' is never increased inside the loop, so the condition never becomes false.
Step 2: Understand effect of missing increment
Without increment, the loop runs forever (infinite loop).
Final Answer:
Missing increment of 'i' inside the loop -> Option B
Quick Check:
Increment needed to avoid infinite loop [OK]
Hint: Always update loop variable inside while loop [OK]
Common Mistakes:
Forgetting to increment loop variable
Using wrong operator but code still compiles
Misunderstanding mutability requirement
5.
Write a while loop in Rust that prints all even numbers from 2 to 10 inclusive.
Which code snippet correctly does this?
???
hard
A. let mut n = 2;
while n <= 10 {
println!("{}", n);
n += 2;
}
B. let mut n = 1;
while n < 10 {
if n % 2 == 0 {
println!("{}", n);
}
n += 1;
}
C. let mut n = 2;
while n < 10 {
println!("{}", n);
n += 2;
}
D. let mut n = 0;
while n <= 10 {
println!("{}", n);
n += 2;
}
Solution
Step 1: Check the range and values printed
We want even numbers from 2 to 10 inclusive, so start at 2 and go up to 10.
Step 2: Analyze each option
let mut n = 2;
while n <= 10 {
println!("{}", n);
n += 2;
} starts at 2, increments by 2, and stops at 10 inclusive. let mut n = 1;
while n < 10 {
if n % 2 == 0 {
println!("{}", n);
}
n += 1;
} starts at 1 and checks evenness each time but stops before 10, missing 10. let mut n = 2;
while n < 10 {
println!("{}", n);
n += 2;
} stops before 10, missing 10. let mut n = 0;
while n <= 10 {
println!("{}", n);
n += 2;
} starts at 0, which is even but outside the requested range.
Final Answer:
let mut n = 2;
while n <= 10 {
println!("{}", n);
n += 2;
} -> Option A
Quick Check:
Start 2, step 2, end 10 inclusive [OK]
Hint: Start at 2, add 2 each loop until 10 [OK]
Common Mistakes:
Starting at 0 instead of 2
Stopping before 10
Not incrementing by 2
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.