A while loop repeats a block of code as long as a given condition is true. It checks the condition before each repetition.
Click to reveal answer
beginner
How do you write a simple while loop in Ruby that counts from 1 to 5?
You can write:
i = 1
while i <= 5
puts i
i += 1
end
This prints numbers 1 to 5.
Click to reveal answer
intermediate
What happens if the condition in a while loop is never false?
The loop runs forever, causing an infinite loop. This can freeze your program unless you stop it manually.
Click to reveal answer
beginner
Can you use a while loop with a condition that changes inside the loop? Give an example.
Yes. For example:
count = 3
while count > 0
puts count
count -= 1
end
The condition changes as count decreases.
Click to reveal answer
intermediate
What is the difference between a while loop and an until loop in Ruby?
A while loop runs while the condition is true. An until loop runs until the condition becomes true (runs while condition is false).
Click to reveal answer
What does a while loop do in Ruby?
ARepeats code while a condition is true
BRepeats code once regardless of condition
CRuns code only if condition is false
DStops code execution immediately
✗ Incorrect
A while loop repeats the code block as long as the condition remains true.
What will this code print?
i = 1
while i < 3
puts i
i += 1
end
A1 2
B1 2 3
C2 3
D3
✗ Incorrect
The loop runs while i is less than 3, so it prints 1 and 2.
What happens if the condition in a while loop is false at the start?
AThe loop runs forever
BThe loop does not run at all
CThe loop runs once
DThe loop runs twice
✗ Incorrect
If the condition is false initially, the while loop does not run even once.
Which of these can cause an infinite while loop?
AIncrementing a variable inside the loop
BCondition is false initially
CCondition never becomes false
DUsing break inside the loop
✗ Incorrect
If the condition never becomes false, the loop never stops and runs forever.
How do you stop a while loop early in Ruby?
AUse the exit keyword
BUse the stop keyword
CUse the continue keyword
DUse the break keyword
✗ Incorrect
The break keyword immediately exits the loop.
Explain how a while loop works in Ruby and give a simple example.
Think about counting numbers using a variable.
You got /3 concepts.
What are the risks of using a while loop and how can you avoid them?
Consider what happens if the condition never changes.
You got /3 concepts.
Practice
(1/5)
1. What does a while loop do in Ruby?
easy
A. Stops the program immediately
B. Runs code only once regardless of condition
C. Repeats code as long as a condition is true
D. Executes code after the loop ends
Solution
Step 1: Understand the purpose of a while loop
A while loop runs the code inside it repeatedly as long as the condition is true.
Step 2: Compare options with the definition
Only Repeats code as long as a condition is true correctly describes this behavior.
Final Answer:
Repeats code as long as a condition is true -> Option C
Quick Check:
while loop = repeats while true [OK]
Hint: Remember: while loops run only if condition is true [OK]
Common Mistakes:
Thinking while loop runs code once
Confusing while with if statement
Assuming it stops program immediately
2. Which of the following is the correct syntax for a while loop in Ruby?
easy
A. while condition
# code
loop
B. while (condition) {
# code
}
C. while condition:
# code
D. while condition do
# code
end
Solution
Step 1: Recall Ruby while loop syntax
Ruby uses while condition do ... end or while condition ... end without braces.
Step 2: Check each option
while condition do
# code
end matches Ruby syntax. Options B and C use other languages' syntax. while condition
# code
loop is invalid.
Final Answer:
while condition do\n # code\nend -> Option D
Quick Check:
Ruby while loop uses do/end [OK]
Hint: Ruby uses do/end, not braces or colons for while [OK]
Common Mistakes:
Using braces {} like in JavaScript
Using colon : like in Python
Ending with 'loop' keyword
3. What is the output of this Ruby code?
i = 1
while i <= 3 do
puts i
i += 1
end
medium
A. 1 2 3
B. 1 2 3 4
C. 0 1 2 3
D. No output
Solution
Step 1: Trace the loop iterations
i starts at 1. Loop runs while i <= 3. It prints i then adds 1 each time.
Step 2: List printed values
Prints 1, then 2, then 3. When i becomes 4, condition fails and loop stops.
Final Answer:
1 2 3 -> Option A
Quick Check:
Prints 1 to 3 inclusive [OK]
Hint: Count from start to condition limit inclusive [OK]
Common Mistakes:
Including 4 in output
Starting from 0 instead of 1
No output due to syntax errors
4. Identify the error in this Ruby code:
count = 5
while count > 0
puts count
end
medium
A. Wrong variable name used in condition
B. Missing increment or decrement causing infinite loop
C. Syntax error: missing 'do' keyword
D. puts should be outside the loop
Solution
Step 1: Analyze loop condition and body
count starts at 5 and condition is count > 0. Inside loop, count is never changed.
Step 2: Understand loop behavior
Since count never decreases, condition stays true forever, causing infinite loop.
Final Answer:
Missing increment or decrement causing infinite loop -> Option B
Quick Check:
Loop needs variable change to stop [OK]
Hint: Always update loop variable inside while [OK]
Common Mistakes:
Forgetting to change loop variable
Assuming 'do' is mandatory
Thinking puts outside loop fixes error
5. How can you use a while loop to sum all even numbers from 2 to 10 inclusive in Ruby?
hard
A. i = 2
sum = 0
while i <= 10 do
sum += i
i += 2
end
puts sum
B. i = 1
sum = 0
while i <= 10 do
if i % 2 == 0
sum += i
end
i += 1
end
puts sum
C. sum = 0
while i <= 10 do
sum += i
i += 1
end
puts sum
D. i = 2
sum = 0
while i < 10 do
sum += i
i += 2
end
puts sum
Solution
Step 1: Understand the goal
We want to add even numbers from 2 to 10 inclusive.
Step 2: Check each option's logic
i = 2
sum = 0
while i <= 10 do
sum += i
i += 2
end
puts sum starts at 2 and increments by 2 up to 10 inclusive, summing even numbers correctly. i = 1
sum = 0
while i <= 10 do
if i % 2 == 0
sum += i
end
i += 1
end
puts sum checks each number from 1 to 10 and adds if even, also correct but less efficient. sum = 0
while i <= 10 do
sum += i
i += 1
end
puts sum sums all numbers, not just even. i = 2
sum = 0
while i < 10 do
sum += i
i += 2
end
puts sum stops before 10, missing 10.
Step 3: Choose best option
i = 2
sum = 0
while i <= 10 do
sum += i
i += 2
end
puts sum is more direct and efficient for summing even numbers from 2 to 10 inclusive.
Final Answer:
Option A code correctly sums even numbers 2 to 10 inclusive -> Option A
Quick Check:
Increment by 2 starting at 2, sum all [OK]
Hint: Increment by 2 starting at 2 to sum even numbers [OK]
Common Mistakes:
Forgetting to include 10 in sum
Adding all numbers, not just even
Using wrong loop condition
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.