Bird
Raised Fist0
Rubyprogramming~20 mins

While loop in Ruby - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
While Loop Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of a simple while loop
What is the output of this Ruby code?
Ruby
i = 1
while i <= 3
  puts i
  i += 1
end
A
0
1
2
3
B
1
2
C
1
2
3
4
D
1
2
3
Attempts:
2 left
💡 Hint
Remember the loop runs while the condition is true.
🧠 Conceptual
intermediate
2:00remaining
Understanding loop exit condition
What will be the value of variable count after this code runs?
Ruby
count = 0
while count < 5
  count += 2
end
A6
B5
C4
DInfinite loop
Attempts:
2 left
💡 Hint
Think about when the loop stops and the last increment.
🔧 Debug
advanced
2:00remaining
Identify the error in this while loop
What error will this Ruby code produce when run?
Ruby
i = 0
while i < 3
  puts i
  i = i - 1
end
AInfinite loop
BSyntaxError
CTypeError
DNo output
Attempts:
2 left
💡 Hint
Look at how the variable changes inside the loop.
📝 Syntax
advanced
2:00remaining
Which code snippet correctly uses a while loop?
Select the option that is syntactically correct Ruby code using a while loop to print numbers 1 to 3.
A
i = 1
while i &lt;= 3:
  puts i
  i += 1
B
i = 1
while (i &lt;= 3) {
  puts i
  i += 1
}
C
i = 1
while i &lt;= 3
  puts i
  i += 1
end
D
i = 1
while i &lt;= 3
  puts i
  i++
end
Attempts:
2 left
💡 Hint
Remember Ruby syntax for loops does not use ++ or braces.
🚀 Application
expert
2:00remaining
Calculate sum using while loop
What is the value of sum after running this Ruby code?
Ruby
sum = 0
num = 1
while num <= 5
  sum += num
  num += 1
end
A5
B15
C10
D20
Attempts:
2 left
💡 Hint
Sum numbers from 1 to 5.

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

  1. 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.
  2. Step 2: Compare options with the definition

    Only Repeats code as long as a condition is true correctly describes this behavior.
  3. Final Answer:

    Repeats code as long as a condition is true -> Option C
  4. 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

  1. Step 1: Recall Ruby while loop syntax

    Ruby uses while condition do ... end or while condition ... end without braces.
  2. 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.
  3. Final Answer:

    while condition do\n # code\nend -> Option D
  4. 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

  1. Step 1: Trace the loop iterations

    i starts at 1. Loop runs while i <= 3. It prints i then adds 1 each time.
  2. Step 2: List printed values

    Prints 1, then 2, then 3. When i becomes 4, condition fails and loop stops.
  3. Final Answer:

    1 2 3 -> Option A
  4. 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

  1. Step 1: Analyze loop condition and body

    count starts at 5 and condition is count > 0. Inside loop, count is never changed.
  2. Step 2: Understand loop behavior

    Since count never decreases, condition stays true forever, causing infinite loop.
  3. Final Answer:

    Missing increment or decrement causing infinite loop -> Option B
  4. 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

  1. Step 1: Understand the goal

    We want to add even numbers from 2 to 10 inclusive.
  2. 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.
  3. 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.
  4. Final Answer:

    Option A code correctly sums even numbers 2 to 10 inclusive -> Option A
  5. 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 unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard