Bird
Raised Fist0
Swiftprogramming~10 mins

Repeat-while loop in Swift - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to start a repeat-while loop that prints numbers from 1 to 3.

Swift
var number = 1
repeat {
    print(number)
    number += 1
} while [1]
Drag options to blanks, or click blank then click option'
Anumber <= 3
Bnumber < 1
Cnumber == 0
Dnumber > 3
Attempts:
3 left
💡 Hint
Common Mistakes
Using a condition that never becomes false, causing an infinite loop.
Using a condition that is false at the start, so the loop never runs.
2fill in blank
medium

Complete the code to repeat the loop while the variable 'count' is less than 5.

Swift
var count = 0
repeat {
    print("Count is \(count)")
    count += 1
} while [1]
Drag options to blanks, or click blank then click option'
Acount >= 5
Bcount > 5
Ccount == 5
Dcount < 5
Attempts:
3 left
💡 Hint
Common Mistakes
Using '>' instead of '<', which would cause the loop to never run.
Using '==' which only runs if count is exactly 5.
3fill in blank
hard

Fix the error in the repeat-while loop condition to stop when 'value' reaches 10.

Swift
var value = 2
repeat {
    print(value)
    value += 2
} while [1]
Drag options to blanks, or click blank then click option'
Avalue > 10
Bvalue < 10
Cvalue <= 10
Dvalue == 10
Attempts:
3 left
💡 Hint
Common Mistakes
Using '<' excludes the value 10 from the loop output.
Using '==' only runs the loop if value is exactly 10.
4fill in blank
hard

Fill both blanks to create a repeat-while loop that prints even numbers from 2 to 8.

Swift
var num = 2
repeat {
    print(num)
    num [1] 2
} while num [2] 8
Drag options to blanks, or click blank then click option'
A+=
B-=
C<=
D>=
Attempts:
3 left
💡 Hint
Common Mistakes
Using '-=' decreases the number, causing an infinite loop.
Using '>=' in the condition causes the loop to never run.
5fill in blank
hard

Fill all three blanks to create a repeat-while loop that prints numbers from 10 down to 2, decreasing by 2.

Swift
var n = [1]
repeat {
    print(n)
    n [2] 2
} while n [3] 2
Drag options to blanks, or click blank then click option'
A10
B-=
C>=
D+=
Attempts:
3 left
💡 Hint
Common Mistakes
Using '+=' instead of '-=' causes the loop to increase and never stop.
Using '<=' in the condition causes the loop to never run.

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

  1. 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.
  2. 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.
  3. Final Answer:

    A repeat-while loop runs the code block at least once before checking the condition. -> Option D
  4. 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

  1. 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.
  2. 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.
  3. Final Answer:

    repeat { /* code */ } while condition -> Option B
  4. 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

  1. Step 1: Trace the loop iterations

    Initial count is 3. The loop prints count, then decreases it by 1. It repeats while count > 0.
  2. 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.
  3. Final Answer:

    3 2 1 -> Option A
  4. 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

  1. 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.
  2. 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.
  3. 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.
  4. Final Answer:

    No error; the loop runs exactly once. -> Option A
  5. 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

  1. Step 1: Understand the requirement

    The loop must ask for password at least once and repeat until the user enters "swift123".
  2. 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.
  3. Final Answer:

    var input = "" repeat { print("Enter password:") input = readLine() ?? "" } while input != "swift123" -> Option C
  4. 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 unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard