Bird
Raised Fist0
Swiftprogramming~20 mins

Range operators (... and ..<) in Swift - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Range Operator Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of inclusive range loop
What is the output of this Swift code using the inclusive range operator ...?
Swift
for i in 1...3 {
    print(i, terminator: ",")
}
A2,3,4,
B1,2,
C1,2,3,4,
D1,2,3,
Attempts:
2 left
💡 Hint
Inclusive range includes both start and end values.
❓ Predict Output
intermediate
2:00remaining
Output of half-open range loop
What is the output of this Swift code using the half-open range operator ..<?
Swift
for i in 1..<4 {
    print(i, terminator: "-")
}
A1-2-3-
B1-2-3-4-
C2-3-4-
D1-2-
Attempts:
2 left
💡 Hint
Half-open range excludes the end value.
🔧 Debug
advanced
2:00remaining
Why does this range cause a runtime error?
Consider this Swift code snippet:
let numbers = [10, 20, 30]
for i in 0...numbers.count {
    print(numbers[i])
}
What error will this code cause when run?
ANo error, prints all elements
BIndex out of range runtime error
CSyntax error: missing colon
DType error: cannot subscript array with Int
Attempts:
2 left
💡 Hint
Check the range bounds against the array indices.
🧠 Conceptual
advanced
2:00remaining
Count of elements in a half-open range
How many elements are in the range 5..<10 in Swift?
A5
B6
C4
D10
Attempts:
2 left
💡 Hint
Count is end minus start for half-open ranges.
🚀 Application
expert
3:00remaining
Using range operators to slice arrays
Given let arr = ["a", "b", "c", "d", "e"], which option correctly extracts the subarray ["b", "c", "d"] using range operators?
Aarr[0..<3]
Barr[1...3]
Carr[1..<4]
Darr[2...4]
Attempts:
2 left
💡 Hint
Remember that array indices start at 0 and half-open ranges exclude the upper bound.

Practice

(1/5)
1. What does the Swift range operator 1...5 represent?
easy
A. A range including numbers 1, 2, 3, 4, and 5
B. A range including numbers 1, 2, 3, and 4 only
C. A range excluding number 1 but including 5
D. A range excluding both 1 and 5

Solution

  1. Step 1: Understand the closed range operator

    The ... operator creates a range that includes both the start and end values.
  2. Step 2: Apply to the given range

    For 1...5, it includes 1, 2, 3, 4, and 5.
  3. Final Answer:

    A range including numbers 1, 2, 3, 4, and 5 -> Option A
  4. Quick Check:

    1...5 includes 5 [OK]
Hint: Remember: ... includes end number, ..< excludes it [OK]
Common Mistakes:
  • Thinking ... excludes the last number
  • Confusing ... with ..<
  • Assuming ..< includes the end number
2. Which of the following is the correct syntax to create a half-open range from 0 to 9 in Swift?
easy
A. 0...9
B. 0..<10
C. 0..9
D. 0...10

Solution

  1. Step 1: Identify half-open range syntax

    The half-open range operator in Swift is ..<, which includes the start but excludes the end.
  2. Step 2: Apply to the range 0 to 9

    To include numbers 0 through 9, use 0..<10 because 10 is excluded.
  3. Final Answer:

    0..<10 -> Option B
  4. Quick Check:

    ..< excludes end [OK]
Hint: Use ..< to exclude the last number in range [OK]
Common Mistakes:
  • Using ... when half-open range is needed
  • Writing 0..9 which is invalid syntax
  • Confusing end number inclusion
3. What will be the output of the following Swift code?
for i in 3..<6 {
    print(i, terminator: ",")
}
medium
A. 3,4,5,6,
B. 4,5,6,
C. 3,4,5,
D. 3,4,5,6

Solution

  1. Step 1: Understand the range used in the loop

    The range 3..<6 includes 3, 4, and 5 but excludes 6.
  2. Step 2: Trace the loop output

    The loop prints 3, then 4, then 5, each followed by a comma.
  3. Final Answer:

    3,4,5, -> Option C
  4. Quick Check:

    ..<6 excludes 6 [OK]
Hint: ..< excludes end; loop stops before 6 [OK]
Common Mistakes:
  • Including 6 in output
  • Missing commas in output
  • Confusing terminator usage
4. The following Swift code has an error. What is the problem?
let range = 1..5
for num in range {
    print(num)
}
medium
A. The range operator .. is invalid in Swift
B. The loop variable num is not declared
C. The print statement syntax is incorrect
D. The range should start from 0

Solution

  1. Step 1: Check the range operator used

    The code uses 1..5, which is not a valid range operator in Swift.
  2. Step 2: Identify correct range operators

    Swift uses ... for closed ranges and ..< for half-open ranges, but not ...
  3. Final Answer:

    The range operator .. is invalid in Swift -> Option A
  4. Quick Check:

    Invalid operator .. causes error [OK]
Hint: Use ... or ..<, never .. alone [OK]
Common Mistakes:
  • Using .. instead of ... or ..<
  • Assuming .. is a valid operator
  • Ignoring compiler error messages
5. You want to create a Swift array containing numbers from 5 to 15, excluding 15, and then print only the even numbers. Which code snippet correctly uses range operators and filtering?
hard
A. let numbers = Array(5...15).filter { $0 % 2 == 0 } print(numbers)
B. let numbers = Array(5..15).filter { $0 % 2 == 0 } print(numbers)
C. let numbers = Array(5..<14).filter { $0 % 2 == 0 } print(numbers)
D. let numbers = Array(5..<15).filter { $0 % 2 == 0 } print(numbers)

Solution

  1. Step 1: Choose correct range excluding 15

    To exclude 15, use the half-open range 5..<15, which includes 5 up to 14.
  2. Step 2: Filter even numbers

    The filter condition { $0 % 2 == 0 } selects even numbers from the array.
  3. Step 3: Verify other options

    let numbers = Array(5...15).filter { $0 % 2 == 0 } print(numbers) includes 15, let numbers = Array(5..15).filter { $0 % 2 == 0 } print(numbers) uses invalid operator .., and let numbers = Array(5..<14).filter { $0 % 2 == 0 } print(numbers) uses 5..<14 which goes only up to 13, missing the even number 14.
  4. Final Answer:

    let numbers = Array(5..<15).filter { $0 % 2 == 0 } print(numbers) -> Option D
  5. Quick Check:

    ..< excludes end, filter selects even [OK]
Hint: Use ..< to exclude end, then filter even numbers [OK]
Common Mistakes:
  • Using ... to include 15 mistakenly
  • Using invalid .. operator
  • Not filtering correctly for even numbers
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