Bird
Raised Fist0
Swiftprogramming~20 mins

Var for variables (mutable) in Swift - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Swift Var Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output of this Swift code using var?

Consider this Swift code snippet. What will it print?

Swift
var count = 5
count = 10
print(count)
A10
B5
CCompilation error
DRuntime error
Attempts:
2 left
💡 Hint

Remember, var allows the value to change.

❓ Predict Output
intermediate
2:00remaining
What happens if you try to change a let constant?

What error will this Swift code produce?

Swift
let name = "Alice"
name = "Bob"
print(name)
ARuntime error
BCompile-time error: Cannot assign to value: 'name' is a 'let' constant
CPrints Alice
DPrints Bob
Attempts:
2 left
💡 Hint

let means the value cannot be changed after assignment.

🔧 Debug
advanced
2:30remaining
Why does this code cause an error?

Examine this Swift code. Why does it fail to compile?

Swift
var number = 10
number = "ten"
print(number)
APrints 10
BRuntime error: Invalid type conversion
CPrints "ten"
DType mismatch error: Cannot assign String to Int variable
Attempts:
2 left
💡 Hint

Swift variables have fixed types once declared.

🧠 Conceptual
advanced
2:00remaining
What is the difference between var and let in Swift?

Choose the best explanation of the difference between var and let in Swift.

A<code>var</code> and <code>let</code> are interchangeable and have no difference.
B<code>var</code> declares a constant; <code>let</code> declares a mutable variable.
C<code>var</code> declares a mutable variable; <code>let</code> declares an immutable constant.
D<code>var</code> is used only for integers; <code>let</code> is used only for strings.
Attempts:
2 left
💡 Hint

Think about whether the value can change after assignment.

❓ Predict Output
expert
3:00remaining
What is the output of this Swift code with var and scope?

What will this Swift code print?

Swift
var x = 5
if true {
    var x = 10
    print(x)
}
print(x)
A
10
5
B
5
10
C
10
10
D
5
5
Attempts:
2 left
💡 Hint

Remember that variables declared inside a block have their own scope.

Practice

(1/5)
1. What does the var keyword do in Swift?
easy
A. It creates a variable whose value can change later.
B. It creates a constant value that cannot change.
C. It defines a function.
D. It declares a type alias.

Solution

  1. Step 1: Understand the purpose of var

    The var keyword is used to declare variables that can be changed after they are set.
  2. Step 2: Compare with constants

    Unlike let, which creates constants, var allows the value to be updated.
  3. Final Answer:

    It creates a variable whose value can change later. -> Option A
  4. Quick Check:

    var means mutable variable [OK]
Hint: Remember: var means variable, value can change [OK]
Common Mistakes:
  • Confusing var with let (constant)
  • Thinking var creates constants
  • Mixing var with function declaration
2. Which of the following is the correct way to declare a mutable variable named score with initial value 10 in Swift?
easy
A. let score = 10
B. variable score = 10
C. const score = 10
D. var score = 10

Solution

  1. Step 1: Identify the keyword for mutable variables

    In Swift, var declares a variable that can change, so use var score = 10.
  2. Step 2: Check other options

    let creates a constant, variable and const are not valid Swift keywords.
  3. Final Answer:

    var score = 10 -> Option D
  4. Quick Check:

    Mutable variable uses var [OK]
Hint: Use var for variables, let for constants [OK]
Common Mistakes:
  • Using let instead of var for mutable variables
  • Using invalid keywords like variable or const
  • Missing the equals sign
3. What will be the output of this Swift code?
var count = 5
count = 10
print(count)
medium
A. 10
B. 5
C. Error: Cannot assign to constant
D. nil

Solution

  1. Step 1: Understand variable assignment

    The variable count is declared with var and initially set to 5, so it can be changed.
  2. Step 2: Update and print value

    The value is changed to 10 before printing, so print(count) outputs 10.
  3. Final Answer:

    10 -> Option A
  4. Quick Check:

    Mutable var updates value correctly [OK]
Hint: var allows value change, so print updated value [OK]
Common Mistakes:
  • Thinking var acts like let (constant)
  • Expecting original value instead of updated
  • Confusing syntax causing errors
4. Identify the error in this Swift code:
var name = "Alice"
name = 42
print(name)
medium
A. Syntax error on variable declaration
B. No error, prints 42
C. Type mismatch error when assigning 42 to name
D. Runtime error when printing

Solution

  1. Step 1: Check variable type inference

    Variable name is inferred as String because of initial value "Alice".
  2. Step 2: Assign incompatible type

    Assigning an integer 42 to a String variable causes a type mismatch error.
  3. Final Answer:

    Type mismatch error when assigning 42 to name -> Option C
  4. Quick Check:

    Swift variables keep type, cannot assign different type [OK]
Hint: Variable type fixed by first value, cannot assign different type [OK]
Common Mistakes:
  • Ignoring type mismatch errors
  • Thinking var allows any type changes
  • Confusing syntax error with type error
5. You want to keep track of a player's score that changes during the game. Which Swift code correctly declares and updates this score using var?
1. let score = 0
2. score = 10

3. var score = 0
4. score = 10

5. var score: String
6. score = 10

7. let score: Int
8. score = 10
hard
A. Lines 1 and 2
B. Lines 3 and 4
C. Lines 5 and 6
D. Lines 7 and 8

Solution

  1. Step 1: Identify mutable variable declaration

    Lines 3 and 4 declare score with var and assign 0, then update to 10, which is correct.
  2. Step 2: Check other options

    Lines 1 and 2 use let (constant), so line 2 causes error. Lines 5 and 6 declare score as String but assign integer 10, causing type mismatch error. Lines 7 and 8 use let constant and then try to assign, causing error.
  3. Final Answer:

    Lines 3 and 4 -> Option B
  4. Quick Check:

    Use var to declare and update variables [OK]
Hint: Declare with var and assign before update [OK]
Common Mistakes:
  • Using let for variables that change
  • Type mismatch with wrong type annotation
  • Confusing var and let usage
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