Bird
Raised Fist0
Rubyprogramming~10 mins

For loop (rarely used in Ruby) - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to print numbers from 1 to 3 using a for loop.

Ruby
for i in [1]
  puts i
end
Drag options to blanks, or click blank then click option'
Arange(1,3)
B[1, 2, 3, 4]
C1...3
D1..3
Attempts:
3 left
💡 Hint
Common Mistakes
Using Python-style range function which doesn't exist in Ruby.
Using exclusive range 1...3 which excludes 3.
2fill in blank
medium

Complete the code to print each fruit in the array using a for loop.

Ruby
fruits = ["apple", "banana", "cherry"]
for [1] in fruits
  puts fruit
end
Drag options to blanks, or click blank then click option'
Afruit
Bitem
Cf
Dfruits
Attempts:
3 left
💡 Hint
Common Mistakes
Using the array name fruits as the loop variable.
Using a variable name that is not used inside the loop.
3fill in blank
hard

Fix the error in the for loop to correctly print numbers from 1 to 5.

Ruby
for i in [1]
  puts i
end
Drag options to blanks, or click blank then click option'
A1...5
B1..5
Crange(1, 5)
D[1, 2, 3, 4]
Attempts:
3 left
💡 Hint
Common Mistakes
Using exclusive range 1...5 which excludes 5.
Using Python-style range which is invalid in Ruby.
4fill in blank
hard

Fill both blanks to create a for loop that prints only even numbers from 2 to 10.

Ruby
for num in [1]
  puts num if num [2] 0
end
Drag options to blanks, or click blank then click option'
A2..10
B% 2 ==
C% 2 !=
D1..10
Attempts:
3 left
💡 Hint
Common Mistakes
Using the wrong range that starts at 1.
Using % 2 != 0 which checks for odd numbers.
5fill in blank
hard

Fill all three blanks to create a for loop that prints squares of numbers from 1 to 5 only if the square is greater than 10.

Ruby
for [1] in [2]
  square = [1] * [1]
  puts square if square > 10
end
Drag options to blanks, or click blank then click option'
An
B1..5
Di
Attempts:
3 left
💡 Hint
Common Mistakes
Using different variable names inconsistently.
Using a range that does not include 5.

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