Bird
Raised Fist0
Rubyprogramming~20 mins

For loop (rarely used in Ruby) - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Ruby For 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 for loop
What is the output of this Ruby code using a for loop?
Ruby
for i in 1..3
  puts i * 2
end
A
2
4
6
B
1
2
3
C
1
4
9
DError: SyntaxError
Attempts:
2 left
💡 Hint
Remember the for loop iterates over the range 1 to 3 and multiplies each by 2.
❓ Predict Output
intermediate
2:00remaining
For loop with array iteration
What will this Ruby code print?
Ruby
arr = ['a', 'b', 'c']
for letter in arr
  print letter
end
A['a', 'b', 'c']
BError: undefined method 'print'
Ca b c
Dabc
Attempts:
2 left
💡 Hint
The print method outputs without newlines or spaces.
❓ Predict Output
advanced
2:00remaining
For loop with break statement
What is the output of this Ruby code?
Ruby
for i in 1..5
  break if i > 3
  puts i
end
A
1
2
3
4
5
B
1
2
C
1
2
3
DError: break outside loop
Attempts:
2 left
💡 Hint
The break stops the loop when i is greater than 3.
❓ Predict Output
advanced
2:00remaining
For loop variable scope
What is the value of variable x after this Ruby code runs?
Ruby
x = 10
for x in 1..3
  # loop body empty
end
puts x
AError: variable scope conflict
B3
C1
D10
Attempts:
2 left
💡 Hint
In Ruby, the for loop variable reassigns the outer variable.
🧠 Conceptual
expert
2:00remaining
Why is for loop rarely used in Ruby?
Which reason best explains why the for loop is rarely used in Ruby?
ABecause Ruby prefers using iterators like each which have better variable scope handling
BBecause for loops do not support ranges in Ruby
CBecause for loops are slower than while loops in Ruby
DBecause for loops cause syntax errors in modern Ruby versions
Attempts:
2 left
💡 Hint
Think about how Ruby handles variables inside loops.

Practice

(1/5)
1. What does the following Ruby for loop do?

for i in 1..3
puts i
end
easy
A. Prints numbers 1, 2, and 3 each on a new line
B. Prints numbers 1 to 2 only
C. Prints numbers 0 to 3
D. Causes a syntax error

Solution

  1. Step 1: Understand the range 1..3

    The range 1..3 includes the numbers 1, 2, and 3.
  2. Step 2: Loop through each number and print

    The loop prints each number on its own line using puts.
  3. Final Answer:

    Prints numbers 1, 2, and 3 each on a new line -> Option A
  4. Quick Check:

    for loop with 1..3 prints 1, 2, 3 [OK]
Hint: Remember 1..3 includes 3, so loop prints 1, 2, 3 [OK]
Common Mistakes:
  • Thinking 1..3 excludes 3
  • Confusing puts with print
  • Expecting syntax error
2. Which of the following is the correct syntax for a for loop in Ruby to iterate over an array ["a", "b", "c"]?
easy
A. for x to ["a", "b", "c"] puts x end
B. for (x : ["a", "b", "c"]) puts x end
C. for x in ["a", "b", "c"] do puts x end
D. for x in ["a", "b", "c"] puts x

Solution

  1. Step 1: Check the correct Ruby for loop syntax

    Ruby uses for variable in collection do ... end or without do.
  2. Step 2: Validate each option

    for x in ["a", "b", "c"] do puts x end uses correct syntax with for x in array do ... end. for (x : ["a", "b", "c"]) puts x end and C use invalid syntax. for x in ["a", "b", "c"] puts x misses end to close the loop.
  3. Final Answer:

    for x in ["a", "b", "c"] do puts x end -> Option C
  4. Quick Check:

    Correct Ruby for loop uses 'for x in collection do ... end' [OK]
Hint: Remember: for x in collection do ... end is correct Ruby syntax [OK]
Common Mistakes:
  • Using colon or 'to' instead of 'in'
  • Omitting the 'end' keyword
  • Adding parentheses incorrectly
3. What is the output of this Ruby code?

sum = 0
for i in 1..4
sum += i
end
puts sum
medium
A. Error
B. 9
C. 0
D. 10

Solution

  1. Step 1: Understand the loop range and sum initialization

    The loop runs from 1 to 4, and sum starts at 0.
  2. Step 2: Calculate sum after each iteration

    sum = 0+1=1, then 1+2=3, then 3+3=6, then 6+4=10.
  3. Final Answer:

    10 -> Option D
  4. Quick Check:

    Sum of 1 to 4 is 10 [OK]
Hint: Add numbers 1 through 4 to get 10 quickly [OK]
Common Mistakes:
  • Forgetting to include last number 4
  • Starting sum at 1 instead of 0
  • Syntax errors in loop
4. Identify the error in this Ruby for loop:

for i in 1..3
puts i
medium
A. Wrong range syntax
B. Missing end to close the loop
C. Variable i not defined
D. Using puts inside loop is invalid

Solution

  1. Step 1: Check loop syntax completeness

    The loop starts with for but does not have a matching end.
  2. Step 2: Confirm other parts are correct

    The range 1..3 and variable i are valid, and puts is allowed inside loops.
  3. Final Answer:

    Missing end to close the loop -> Option B
  4. Quick Check:

    Every for loop needs an 'end' [OK]
Hint: Always close for loops with 'end' [OK]
Common Mistakes:
  • Forgetting 'end' keyword
  • Thinking variable must be declared first
  • Believing puts is invalid inside loops
5. You want to create a Ruby for loop that prints only even numbers from 2 to 10 inclusive. Which code snippet achieves this correctly?
hard
A. for i in 2..10 do puts i if i % 2 == 0 end
B. for i in 2..10 do puts i if i % 2 == 1 end
C. for i in 1..10 do puts i if i % 2 == 1 end
D. for i in 2..10 puts i end

Solution

  1. Step 1: Identify the range and condition for even numbers

    The range 2..10 includes numbers 2 through 10. Even numbers satisfy i % 2 == 0.
  2. Step 2: Check each option's condition

    for i in 2..10 do puts i if i % 2 == 0 end prints numbers in 2..10 only if even. for i in 2..10 do puts i if i % 2 == 1 end prints odd numbers. for i in 1..10 do puts i if i % 2 == 1 end prints odd numbers 1,3,5,7,9. for i in 2..10 puts i end prints all numbers without filtering.
  3. Final Answer:

    for i in 2..10 do puts i if i % 2 == 0 end -> Option A
  4. Quick Check:

    Filter with 'if i % 2 == 0' inside for loop [OK]
Hint: Use 'if i % 2 == 0' inside for loop to print evens [OK]
Common Mistakes:
  • Using wrong modulo condition for even numbers
  • Not filtering numbers inside loop
  • Starting range at 1 instead of 2
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