📖 Scenario: You are helping a small bakery count how many cupcakes they have baked each day over a week.
🎯 Goal: Build a Kotlin program that uses a for loop with a range to count cupcakes baked from day 1 to day 7.
📋 What You'll Learn
Create a variable called totalCupcakes and set it to 0
Create a for loop using day in the range 1 to 7
Inside the loop, add 10 cupcakes for each day to totalCupcakes
Print the final value of totalCupcakes
💡 Why This Matters
🌍 Real World
Counting items or events over a fixed number of days or steps is common in business and daily life.
💼 Career
Understanding loops and ranges helps automate repetitive tasks and process data efficiently in software development.
Progress0 / 4 steps
1
Create the initial variable
Create a variable called totalCupcakes and set it to 0.
Kotlin
Hint
Use var to create a variable that can change.
2
Set up the for loop with range
Create a for loop with variable day that goes from 1 to 7 using a range.
Kotlin
Hint
Use 1..7 to create a range from 1 to 7 inclusive.
3
Add cupcakes inside the loop
Inside the for loop, add 10 to totalCupcakes for each day.
Kotlin
Hint
Use += to add to the existing value of totalCupcakes.
4
Print the total cupcakes
Write a println statement to print the value of totalCupcakes.
Kotlin
Hint
Use println(totalCupcakes) to show the total cupcakes baked.
Practice
(1/5)
1. What does the following Kotlin code do? for (i in 1..5) { println(i) }
easy
A. Prints numbers from 1 to 4
B. Prints numbers from 1 to 5 inclusive
C. Prints numbers from 0 to 5
D. Prints numbers from 5 down to 1
Solution
Step 1: Understand the range operator
The operator 1..5 creates a range including numbers 1, 2, 3, 4, and 5.
Step 2: Loop through the range
The for loop runs from 1 to 5, printing each number.
Final Answer:
Prints numbers from 1 to 5 inclusive -> Option B
Quick Check:
Range 1..5 includes 5 [OK]
Hint: .. means inclusive range from start to end [OK]
Common Mistakes:
Thinking .. excludes the last number
Confusing range with step or downTo
Assuming it counts down automatically
2. Which of the following is the correct syntax for a for loop counting down from 5 to 1 in Kotlin?
easy
A. for (i in 5 downTo 1) { println(i) }
B. for (i in 1..5 step -1) { println(i) }
C. for (i in 5..1) { println(i) }
D. for (i in 1 downTo 5) { println(i) }
Solution
Step 1: Identify correct descending range syntax
Kotlin uses downTo to count down from a higher number to a lower number.
Step 2: Check each option
for (i in 5 downTo 1) { println(i) } uses 5 downTo 1, which is correct. for (i in 5..1) { println(i) } uses an invalid range (5..1). for (i in 1..5 step -1) { println(i) } tries to use negative step incorrectly. for (i in 1 downTo 5) { println(i) } reverses the range incorrectly.
Final Answer:
for (i in 5 downTo 1) { println(i) } -> Option A
Quick Check:
Use downTo for descending loops [OK]
Hint: Use downTo to count down in Kotlin loops [OK]
Common Mistakes:
Using .. for descending ranges
Trying negative step with .. (not allowed)
Swapping start and end in downTo
3. What is the output of this Kotlin code?
var sum = 0
for (i in 1..5 step 2) {
sum += i
}
println(sum)
medium
A. 6
B. 15
C. 9
D. 10
Solution
Step 1: Understand the loop range and step
The loop runs from 1 to 5, stepping by 2: values are 1, 3, 5.
Step 2: Calculate the sum of these values
sum = 0 + 1 + 3 + 5 = 9
Final Answer:
9 -> Option C
Quick Check:
1 + 3 + 5 = 9 [OK]
Hint: Add numbers in steps to find sum quickly [OK]
Common Mistakes:
Adding all numbers 1 to 5 instead of stepping
Using step as a multiplier
Confusing step with downTo
4. Find the error in this Kotlin code snippet:
for (i in 10..1 step 2) {
println(i)
}
medium
A. println cannot be used inside for loop
B. step cannot be used with ranges
C. Variable i is not declared
D. Range 10..1 is invalid for counting down
Solution
Step 1: Analyze the range 10..1
The range 10..1 tries to count up from 10 to 1, which is invalid because 10 is greater than 1.
Step 2: Understand correct descending syntax
To count down, use downTo instead of .., e.g., 10 downTo 1 step 2.
Final Answer:
Range 10..1 is invalid for counting down -> Option D
Quick Check:
Use downTo for descending ranges [OK]
Hint: .. always counts up; use downTo to count down [OK]
Common Mistakes:
Using .. for descending ranges
Thinking step fixes descending range
Ignoring Kotlin's range direction rules
5. You want to print all even numbers from 2 to 20 inclusive using a for loop in Kotlin. Which code snippet correctly does this?
hard
A. for (i in 2..20 step 2) { println(i) }
B. for (i in 2..19) { if (i % 2 == 0) println(i) }
C. for (i in 2 downTo 20 step 2) { println(i) }
D. for (i in 1..10 step 2) { println(i * 2) }
Solution
Step 1: Identify the range and step for even numbers
Even numbers from 2 to 20 can be generated by starting at 2 and stepping by 2 up to 20.
Step 2: Check each option
for (i in 2..20 step 2) { println(i) } uses 2..20 step 2, which prints 2,4,6,...,20 correctly. for (i in 2..19) { if (i % 2 == 0) println(i) } ends at 19 so prints evens up to 18, missing 20. for (i in 2 downTo 20 step 2) { println(i) } counts down incorrectly. for (i in 1..10 step 2) { println(i * 2) } prints 2,6,10,..., not all even numbers.
Final Answer:
for (i in 2..20 step 2) { println(i) } -> Option A
Quick Check:
Use step 2 from 2 to 20 for evens [OK]
Hint: Use step 2 starting at 2 to print even numbers [OK]
Common Mistakes:
Using downTo instead of .. for ascending
Forgetting to step by 2
Multiplying inside loop incorrectly
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.