A repeat-while loop runs the code inside its block at least once, then keeps repeating as long as the condition is true. It's like doing something first, then checking if you should do it again.
Click to reveal answer
beginner
How does a repeat-while loop differ from a while loop?
A repeat-while loop runs the code block first, then checks the condition. A while loop checks the condition first before running the code. So, repeat-while always runs at least once.
Click to reveal answer
beginner
Write a simple Swift repeat-while loop that counts from 1 to 3.
var count = 1
repeat {
print(count)
count += 1
} while count <= 3
This prints 1, 2, and 3 each on a new line.
Click to reveal answer
intermediate
Why might you choose a repeat-while loop over a while loop?
Use repeat-while when you want the code to run at least once no matter what, like asking a user for input and then checking if it’s valid.
Click to reveal answer
beginner
What happens if the condition in a repeat-while loop is false right after the first run?
The loop stops after the first run because the condition is false. But the code inside still runs once before stopping.
Click to reveal answer
What is guaranteed about the code inside a repeat-while loop?
AIt runs at least once
BIt might not run at all
CIt runs only if the condition is true initially
DIt runs twice before checking the condition
✗ Incorrect
A repeat-while loop always runs the code inside once before checking the condition.
Which keyword starts a repeat-while loop in Swift?
Awhile
Bdo
Crepeat
Dloop
✗ Incorrect
The repeat-while loop in Swift starts with the keyword 'repeat'.
When does the condition get checked in a repeat-while loop?
ABefore the loop body runs
BAfter the loop body runs
CAt the same time as the loop body runs
DOnly once at the start
✗ Incorrect
The condition is checked after the loop body runs in a repeat-while loop.
What will this code print?
var x = 5
repeat {
print(x)
x -= 1
} while x > 3
ANothing
B5 only
C5, 4, 3
D5 and 4
✗ Incorrect
It prints 5 first, then 4, then stops because x becomes 3 which is not > 3.
If the condition is false at the start, how many times does a repeat-while loop run?
AOnce
BZero times
CTwice
DInfinite times
✗ Incorrect
The loop runs once before checking the condition, so it runs once even if the condition is false initially.
Explain how a repeat-while loop works and when you would use it.
Think about doing something first, then checking if you should do it again.
You got /3 concepts.
Write a Swift repeat-while loop that prints numbers from 1 to 5.
Start with a number 1, print it, add 1, and repeat while number is less or equal to 5.
You got /4 concepts.
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.