Bird
Raised Fist0
Rubyprogramming~20 mins

Until loop in Ruby - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Until Loop Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of an until loop counting down
What is the output of this Ruby code using an until loop?
Ruby
count = 3
until count == 0
  puts count
  count -= 1
end
A
1
2
3
B
0
1
2
3
C
3
2
1
0
D
3
2
1
Attempts:
2 left
💡 Hint
Remember, until runs the block while the condition is false.
❓ Predict Output
intermediate
2:00remaining
Until loop with break condition inside
What will this Ruby code print?
Ruby
i = 0
until i > 5
  puts i
  break if i == 3
  i += 1
end
A
0
1
2
3
4
5
B
0
1
2
3
C
0
1
2
3
4
D
1
2
3
Attempts:
2 left
💡 Hint
The break stops the loop early when i is 3.
🔧 Debug
advanced
2:00remaining
Identify the error in this until loop
What error does this Ruby code produce?
Ruby
count = 5
until count = 0
  puts count
  count -= 1
end
AInfinite loop
BSyntaxError
CTypeError
DNo error, prints 5 to 1
Attempts:
2 left
💡 Hint
Check the condition in the until statement carefully.
🧠 Conceptual
advanced
1:30remaining
Understanding until loop condition logic
Which statement best describes how an until loop works in Ruby?
AIt runs the loop while the condition is true.
BIt runs the loop until the condition becomes true.
CIt runs the loop while the condition is false.
DIt runs the loop only once regardless of the condition.
Attempts:
2 left
💡 Hint
Think about the opposite of a while loop.
❓ Predict Output
expert
2:30remaining
Complex until loop with nested condition
What is the output of this Ruby code?
Ruby
x = 1
until x > 10
  if x % 3 == 0
    puts x
  end
  x += 2
end
A
3
6
9
B
3
9
C
3
9
15
D
6
9
Attempts:
2 left
💡 Hint
Check which values of x are multiples of 3 as it increases by 2.

Practice

(1/5)
1. What does an until loop do in Ruby?
easy
A. Repeats code while the condition is false
B. Repeats code while the condition is true
C. Runs code only once
D. Stops code immediately

Solution

  1. Step 1: Understand the until loop condition

    An until loop runs as long as its condition is false.
  2. Step 2: Compare with while loop

    Unlike while which runs when true, until runs when false.
  3. Final Answer:

    Repeats code while the condition is false -> Option A
  4. Quick Check:

    Until loop runs while condition is false [OK]
Hint: Until loops run while condition is false, opposite of while [OK]
Common Mistakes:
  • Thinking until runs while condition is true
  • Confusing until with while loop
  • Assuming until runs only once
2. Which of the following is the correct syntax for an until loop in Ruby?
easy
A. until condition then # code end
B. until (condition) { # code }
C. until condition: # code
D. until condition do # code end

Solution

  1. Step 1: Recall Ruby loop syntax

    Ruby uses until condition do ... end or just until condition ... end.
  2. Step 2: Check each option

    until condition do # code end matches Ruby syntax; others use wrong symbols or keywords.
  3. Final Answer:

    until condition do\n # code\nend -> Option D
  4. Quick Check:

    Ruby until loop uses do/end syntax [OK]
Hint: Use do/end blocks for until loops in Ruby [OK]
Common Mistakes:
  • Using curly braces {} instead of do/end
  • Using colon : like Python
  • Adding 'then' keyword incorrectly
3. What will be the output of this Ruby code?
count = 1
until count > 3 do
  puts count
  count += 1
end
medium
A. 1 2 3 4
B. 1 2 3
C. 2 3 4
D. No output

Solution

  1. Step 1: Analyze the loop condition and variable

    The loop runs until count > 3. Starting from 1, it prints and increments count.
  2. Step 2: Trace each iteration

    Prints 1, increments to 2; prints 2, increments to 3; prints 3, increments to 4; now count > 3, loop stops.
  3. Final Answer:

    1 2 3 -> Option B
  4. Quick Check:

    Prints 1 to 3 before stopping [OK]
Hint: Until runs while condition false, stops when count > 3 [OK]
Common Mistakes:
  • Including 4 in output by mistake
  • Thinking loop runs while condition true
  • Forgetting to increment count
4. Identify the error in this Ruby code using an until loop:
i = 0
until i < 5
  puts i
  i += 1
end
medium
A. Infinite loop because i never changes
B. Missing do keyword after until condition
C. The loop condition should be > instead of <
D. No error, code runs correctly

Solution

  1. Step 1: Analyze the loop condition

    until i < 5 with i=0: 0 < 5 is true, so condition true and loop never executes.
  2. Step 2: Identify the correct error

    Syntax is fine (newline ok without do). Logic error: condition backwards. Should be until i > 4 or similar. The loop condition should be > instead of < identifies this.
  3. Final Answer:

    The loop condition should be > instead of < -> Option C
  4. Quick Check:

    Wrong condition direction: loop never runs [OK]
Hint: Flip < to > for until when adapting while logic [OK]
Common Mistakes:
  • Confusing condition direction (< vs >)
  • Assuming no do needed for until
  • Thinking i doesn't change causing infinite loop
5. You want to write an until loop that prints numbers from 10 down to 1. Which code correctly does this?
hard
A. num = 10 until num < 1 do puts num num -= 1 end
B. num = 10 until num == 1 do puts num num -= 1 end
C. num = 10 until num > 0 do puts num num -= 1 end
D. num = 10 until num < 0 do puts num num -= 1 end

Solution

  1. Step 1: Understand the goal and loop condition

    We want to print from 10 down to 1, so loop should run while num is >= 1.
  2. Step 2: Check each option's condition

    num = 10 until num < 1 do puts num num -= 1 end uses until num < 1, meaning loop runs while num >= 1, printing 10 to 1 correctly.
  3. Final Answer:

    num = 10\nuntil num < 1 do\n puts num\n num -= 1\nend -> Option A
  4. Quick Check:

    Until runs while condition false, so until num < 1 runs until num is 0 [OK]
Hint: Use until num < 1 to count down from 10 to 1 [OK]
Common Mistakes:
  • Using until num < 0 (prints 0 too)
  • Using until num > 0 (never runs)
  • Stopping at num == 1 (doesn't print 1)
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