📖 Scenario: You are helping a small bakery count the number of cupcakes they bake each day for a week. They want to know the total cupcakes baked from Monday to Sunday.
🎯 Goal: Build a Swift program that uses a for-in loop with a range to sum the cupcakes baked each day and print the total.
📋 What You'll Learn
Create a dictionary called cupcakesBaked with keys as days of the week and values as the number of cupcakes baked.
Create a constant days that holds the range from 1 to 7 representing days Monday to Sunday.
Use a for-in loop with the variable day to iterate over days.
Inside the loop, add the cupcakes baked for each day to a variable totalCupcakes.
Print the total cupcakes baked after the loop.
💡 Why This Matters
🌍 Real World
Counting daily production or sales is common in small businesses to track performance and plan inventory.
💼 Career
Using loops and ranges to process data collections is a fundamental skill for software developers, especially in data processing and automation tasks.
Progress0 / 4 steps
1
Create the cupcakes data
Create a dictionary called cupcakesBaked with these exact entries: 1: 12, 2: 15, 3: 10, 4: 20, 5: 18, 6: 25, 7: 22.
Swift
Hint
Use a Swift dictionary with integer keys for days and integer values for cupcakes.
2
Create the days range
Create a constant called days that holds the range from 1 to 7 inclusive.
Swift
Hint
Use the closed range operator ... to include both 1 and 7.
3
Sum cupcakes using a for-in loop
Create a variable called totalCupcakes and set it to 0. Then use a for-in loop with the variable day to iterate over days. Inside the loop, add the cupcakes baked for each day from cupcakesBaked to totalCupcakes. Use optional unwrapping with ?? 0 to handle missing values.
Swift
Hint
Remember to initialize totalCupcakes before the loop and use cupcakesBaked[day] ?? 0 to safely get the value.
4
Print the total cupcakes
Write a print statement to display the text Total cupcakes baked: followed by the value of totalCupcakes using string interpolation.
Swift
Hint
Use print("Total cupcakes baked: \(totalCupcakes)") to show the result.
Practice
(1/5)
1. What does the following Swift code print? for i in 1...3 { print(i) }
easy
A. 1 2
B. 1 2 3
C. 0 1 2 3
D. 2 3 4
Solution
Step 1: Understand the range operator
The range 1...3 is a closed range including 1, 2, and 3.
Step 2: Loop prints each number in the range
The loop prints 1, then 2, then 3 on separate lines.
Final Answer:
1 2 3 -> Option B
Quick Check:
Closed range includes last number = 1 2 3 [OK]
Hint: Closed range includes last number, so count all numbers [OK]
Common Mistakes:
Thinking the last number is excluded
Starting from 0 instead of 1
Confusing closed and half-open ranges
2. Which of the following is the correct syntax for a for-in loop iterating from 0 to 4 (excluding 4) in Swift?
easy
A. for i in 0...4 { }
B. for i in 0 to 4 { }
C. for i in 0..<4 { }
D. for i = 0; i < 4; i++ { }
Solution
Step 1: Identify the correct range syntax
0..<4 is a half-open range including 0,1,2,3 but excluding 4.
Step 2: Check Swift for-in loop syntax
Swift uses 'for variable in range { }' syntax; 'for i in 0..<4 { }' is correct.
Final Answer:
for i in 0..<4 { } -> Option C
Quick Check:
Half-open range excludes last number = for i in 0..<4 { } [OK]
Hint: Use '..<' for half-open range excluding last number [OK]
Common Mistakes:
Using '...' when last number should be excluded
Using 'to' keyword which is invalid in Swift
Using C-style for loop syntax which is not valid in Swift
3. What is the output of this Swift code?
var sum = 0
for number in 1..<5 {
sum += number
}
print(sum)
medium
A. 10
B. 15
C. 14
D. Error
Solution
Step 1: Identify the range and loop values
The range 1..<5 includes 1, 2, 3, 4 (excluding 5).
Step 2: Calculate the sum of these numbers
Sum = 1 + 2 + 3 + 4 = 10.
Final Answer:
10 -> Option A
Quick Check:
Sum of 1 to 4 = 10 [OK]
Hint: Half-open range excludes last number; sum 1+2+3+4 = 10 [OK]
Common Mistakes:
Including 5 in the sum
Adding numbers incorrectly
Confusing closed and half-open ranges
4. The following Swift code has an error. What is it?
for i in 1..< { print(i) }
medium
A. No error, code runs fine
B. Using wrong loop variable
C. Using closed range instead of half-open
D. Missing end value in range
Solution
Step 1: Check the range syntax
The range 1..< is incomplete; it misses the end value after '..<' operator.
Step 2: Identify the error type
This causes a syntax error because Swift expects a number after '..<' to define the range.
Final Answer:
Missing end value in range -> Option D
Quick Check:
Range must have start and end values [OK]
Hint: Range must have start and end values, '..<' alone is invalid [OK]
Common Mistakes:
Leaving out the end value in range
Confusing '..<' with '...' syntax
Assuming loop variable causes error
5. You want to print all even numbers from 2 to 10 inclusive using a for-in loop with a range. Which code correctly does this?
hard
A. for i in 2...10 where i % 2 == 0 { print(i) }
B. for i in 2..<10 { if i % 2 == 0 { print(i) } }
C. for i in 2...10 { if i % 2 == 1 { print(i) } }
D. for i in 2...9 where i % 2 == 0 { print(i) }
Solution
Step 1: Understand the range and condition
We want even numbers from 2 to 10 inclusive, so use closed range 2...10.
Step 2: Use 'where' clause to filter even numbers
The 'where i % 2 == 0' filters only even numbers in the loop.
Final Answer:
for i in 2...10 where i % 2 == 0 { print(i) } -> Option A
Quick Check:
Closed range + where filter = for i in 2...10 where i % 2 == 0 { print(i) } [OK]
Hint: Use closed range and 'where' to filter even numbers [OK]
Common Mistakes:
Using half-open range excluding 10
Printing odd numbers by mistake
Forgetting to filter even numbers
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.