📖 Scenario: You are creating a simple program that counts up from 1 until it reaches a certain number. This is like counting steps while walking until you reach your destination.
🎯 Goal: Build a Swift program that uses a repeat-while loop to count from 1 up to a given limit and then prints the final count.
📋 What You'll Learn
Create a variable called count starting at 1
Create a constant called limit with the value 5
Use a repeat-while loop to increase count by 1 until it is greater than limit
Print the final value of count
💡 Why This Matters
🌍 Real World
Counting steps or attempts until a goal is reached is common in games, apps, and devices.
💼 Career
Understanding loops like repeat-while helps in automating repeated tasks and controlling program flow in software development.
Progress0 / 4 steps
1
Create the initial count variable
Create a variable called count and set it to 1.
Swift
Hint
Use var to create a variable and assign it the value 1.
2
Set the limit constant
Create a constant called limit and set it to 5.
Swift
Hint
Use let to create a constant and assign it the value 5.
3
Use a repeat-while loop to count up
Write a repeat-while loop that increases count by 1 each time, and continues while count is less than or equal to limit.
Swift
Hint
Use repeat { ... } while condition syntax. Inside the loop, add 1 to count.
4
Print the final count
Write a print statement to display the value of count.
Swift
Hint
Use print(count) to show the final number.
Practice
(1/5)
1. What is the main difference between a repeat-while loop and a while loop in Swift?
easy
A. A repeat-while loop runs only once and never repeats.
B. A repeat-while loop checks the condition before running the code block.
C. A repeat-while loop cannot be used with Boolean conditions.
D. A repeat-while loop runs the code block at least once before checking the condition.
Solution
Step 1: Understand loop behavior
A while loop checks the condition before running the code block, so it may not run at all if the condition is false initially.
Step 2: Compare with repeat-while
A repeat-while loop runs the code block first, then checks the condition to decide if it should repeat, guaranteeing at least one execution.
Final Answer:
A repeat-while loop runs the code block at least once before checking the condition. -> Option D
Quick Check:
Repeat-while runs first, then checks condition [OK]
Hint: Repeat-while always runs code once before checking condition [OK]
Common Mistakes:
Thinking repeat-while checks condition first
Confusing repeat-while with while loop
Believing repeat-while can't repeat
2. Which of the following is the correct syntax for a repeat-while loop in Swift?
easy
A. repeat (condition) { /* code */ }
B. repeat { /* code */ } while condition
C. while condition { /* code */ } repeat
D. do { /* code */ } while condition
Solution
Step 1: Recall Swift syntax for repeat-while
The correct syntax starts with the keyword repeat, followed by a code block in braces, then the while keyword with the condition.
Step 2: Check each option
repeat { /* code */ } while condition matches the correct syntax exactly. repeat (condition) { /* code */ } incorrectly places the condition in parentheses after repeat. while condition { /* code */ } repeat mixes while and repeat incorrectly. do { /* code */ } while condition uses do-while which is not valid Swift syntax.
Final Answer:
repeat { /* code */ } while condition -> Option B
Quick Check:
repeat { } while condition syntax [OK]
Hint: Remember: repeat { } while condition is the correct form [OK]
Common Mistakes:
Using do-while instead of repeat-while
Placing condition inside parentheses after repeat
Mixing while and repeat keywords
3. What will be the output of the following Swift code?
var count = 3
repeat {
print(count)
count -= 1
} while count > 0
medium
A. 3 2 1
B. 2 1 0
C. 3 2 1 0
D. 1 2 3
Solution
Step 1: Trace the loop iterations
Initial count is 3. The loop prints count, then decreases it by 1. It repeats while count > 0.
Step 2: List printed values
First iteration: print 3, count becomes 2. Second iteration: print 2, count becomes 1. Third iteration: print 1, count becomes 0. Loop stops because count is not > 0.
Final Answer:
3 2 1 -> Option A
Quick Check:
Prints 3,2,1 then stops [OK]
Hint: Count down prints before condition check, stops at zero [OK]
Common Mistakes:
Including 0 in output
Printing after decrement instead of before
Confusing order of printed numbers
4. Identify the error in this Swift repeat-while loop code:
var x = 5
repeat {
print(x)
x += 1
} while x < 5
medium
A. No error; the loop runs exactly once.
B. The loop will never run because condition is false initially.
C. Syntax error: missing parentheses around condition.
D. The loop will run infinitely because x keeps increasing.
Solution
Step 1: Analyze loop condition and variable change
Initial x is 5. The loop runs once before checking condition. Inside loop, x increases by 1 each time.
Step 2: Check condition after first iteration
After first iteration, x becomes 6. Condition is x < 5, which is false, so loop should stop. But since x increases, if condition was true, it would never stop. Here, it stops after one iteration.
Step 3: Re-examine the condition logic
Actually, since x starts at 5, condition x < 5 is false, so loop runs once then stops. No infinite loop.
Final Answer:
No error; the loop runs exactly once. -> Option A
Quick Check:
Loop runs once then stops [OK]
Hint: Check variable change and condition carefully to avoid infinite loops [OK]
Common Mistakes:
Assuming infinite loop without checking condition
Thinking condition needs parentheses
Believing loop won't run at all
5. You want to use a repeat-while loop to ask a user for a password until they enter "swift123". Which code snippet correctly implements this?
hard
A. repeat {
print("Enter password:")
input = readLine() ?? ""
} while input == "swift123"
B. var input = ""
while input != "swift123" {
print("Enter password:")
input = readLine() ?? ""
}
C. var input = ""
repeat {
print("Enter password:")
input = readLine() ?? ""
} while input != "swift123"
D. var input = ""
repeat {
input = readLine() ?? ""
} while input != "swift123"
print("Enter password:")
Solution
Step 1: Understand the requirement
The loop must ask for password at least once and repeat until the user enters "swift123".
Step 2: Check each option
var input = ""
repeat {
print("Enter password:")
input = readLine() ?? ""
} while input != "swift123" uses repeat-while, asks inside loop, and repeats while input is not "swift123". This matches the requirement. var input = ""
while input != "swift123" {
print("Enter password:")
input = readLine() ?? ""
} uses while loop, which may skip asking if input is already "swift123". repeat {
print("Enter password:")
input = readLine() ?? ""
} while input == "swift123" repeats while input equals "swift123", which is opposite of requirement. var input = ""
repeat {
input = readLine() ?? ""
} while input != "swift123"
print("Enter password:") prints prompt after loop ends, so user is not prompted before input.
Final Answer:
var input = ""
repeat {
print("Enter password:")
input = readLine() ?? ""
} while input != "swift123" -> Option C
Quick Check:
Repeat-while asks first, repeats until correct [OK]
Hint: Use repeat-while to ask first, then check condition [OK]
Common Mistakes:
Using while loop that may skip first prompt
Reversing condition logic
Prompting outside the loop
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.