Bird
Raised Fist0
Rubyprogramming~15 mins

While loop in Ruby - Mini Project: Build & Apply

Choose your learning style10 modes available
Using a While Loop in Ruby
📖 Scenario: You are helping a small shop count how many items they have in stock. The shop owner wants to count items one by one until they reach the total number of items.
🎯 Goal: Build a Ruby program that uses a while loop to count items from 1 up to a total number and then shows the final count.
📋 What You'll Learn
Create a variable called total_items with the value 10
Create a variable called count starting at 1
Use a while loop with the condition count <= total_items
Inside the loop, print the current count value
Increase count by 1 inside the loop
After the loop, print "Counting finished: 10 items counted."
💡 Why This Matters
🌍 Real World
Counting items one by one is common in shops, inventories, or any place where you need to process things step by step.
💼 Career
Understanding loops is essential for automating repetitive tasks in programming jobs, such as data processing or user input handling.
Progress0 / 4 steps
1
Set up the total number of items
Create a variable called total_items and set it to 10.
Ruby
Hint

Use = to assign the number 10 to total_items.

2
Create a counter variable
Create a variable called count and set it to 1.
Ruby
Hint

Start counting from 1 by assigning 1 to count.

3
Write the while loop to count items
Write a while loop with the condition count <= total_items. Inside the loop, print the current count value, then increase count by 1.
Ruby
Hint

Use while count <= total_items to start the loop. Use puts count to print, and count += 1 to add one to count.

4
Print the final message after counting
After the while loop, print the message "Counting finished: 10 items counted.".
Ruby
Hint

Use puts to print the final message after the loop ends.

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