Bird
Raised Fist0
Swiftprogramming~20 mins

Let for constants (immutable) in Swift - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Swift Let Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of let constant reassignment attempt
What is the output or result of running this Swift code?
Swift
let number = 10
number = 20
print(number)
A10
B20
CCompile-time error: Cannot assign to value: 'number' is a 'let' constant
DRuntime error
Attempts:
2 left
💡 Hint
Remember that 'let' declares a constant that cannot be changed after assignment.
❓ Predict Output
intermediate
1:30remaining
Value of a let constant after initialization
What will be printed by this Swift code?
Swift
let greeting = "Hello, world!"
print(greeting)
Agreeting
BHello, world!
CCompile-time error
DRuntime error
Attempts:
2 left
💡 Hint
Check what value is assigned to the constant 'greeting'.
🔧 Debug
advanced
2:30remaining
Why does this let constant cause a compile error?
Consider this Swift code snippet. Why does it cause a compile-time error?
Swift
let numbers = [1, 2, 3]
numbers.append(4)
print(numbers)
ABecause 'numbers' is a constant array and cannot be modified after initialization
BBecause 'append' is not a valid method for arrays
CBecause the array is empty
DBecause 'print' cannot print arrays
Attempts:
2 left
💡 Hint
Think about what 'let' means for collections like arrays.
📝 Syntax
advanced
1:30remaining
Which option correctly declares an immutable constant?
Which of the following Swift declarations correctly creates an immutable constant?
Aconst pi = 3.14159
Bvar pi = 3.14159
Cimmutable pi = 3.14159
Dlet pi = 3.14159
Attempts:
2 left
💡 Hint
Swift uses a specific keyword for constants.
🚀 Application
expert
2:00remaining
Number of items in a let constant dictionary after initialization
Given this Swift code, how many key-value pairs does the constant dictionary contain?
Swift
let capitals = ["France": "Paris", "Japan": "Tokyo", "India": "New Delhi"]
print(capitals.count)
A3
B0
C1
DCompile-time error
Attempts:
2 left
💡 Hint
Count the number of key-value pairs inside the dictionary literal.

Practice

(1/5)
1. What does the let keyword do in Swift?
easy
A. Defines a function
B. Creates a variable that can be changed anytime
C. Creates a constant value that cannot be changed
D. Declares a class

Solution

  1. Step 1: Understand the purpose of let

    The let keyword is used to declare constants in Swift, meaning the value assigned cannot be changed later.
  2. Step 2: Compare with other keywords

    Unlike var, which declares variables that can change, let ensures immutability.
  3. Final Answer:

    Creates a constant value that cannot be changed -> Option C
  4. Quick Check:

    let means constant = A [OK]
Hint: Remember: let = fixed value, var = changeable value [OK]
Common Mistakes:
  • Confusing let with var
  • Thinking let declares variables
  • Assuming let can be reassigned
2. Which of the following is the correct way to declare a constant integer named age with value 30 in Swift?
easy
A. let age = 30
B. var age = 30
C. constant age = 30
D. const age = 30

Solution

  1. Step 1: Identify correct Swift syntax for constants

    In Swift, let is used to declare constants, so let age = 30 is correct.
  2. Step 2: Check other options

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

    let age = 30 -> Option A
  4. Quick Check:

    Use let for constants = B [OK]
Hint: Use let for constants, var for variables [OK]
Common Mistakes:
  • Using var instead of let for constants
  • Using non-Swift keywords like const
  • Syntax errors with declaration
3. What will be the output of this Swift code?
let number = 10
// number = 20
print(number)
medium
A. 10
B. Compile-time error
C. 20
D. Runtime error

Solution

  1. Step 1: Understand the code behavior

    The constant number is set to 10. The line trying to change it to 20 is commented out, so it does not run.
  2. Step 2: Determine the printed value

    Since number remains 10, print(number) outputs 10.
  3. Final Answer:

    10 -> Option A
  4. Quick Check:

    Constant unchanged prints original value = 10 [OK]
Hint: Commented code does not run; constant stays same [OK]
Common Mistakes:
  • Thinking commented code runs
  • Expecting reassignment to work
  • Confusing output with attempted change
4. Identify the error in this Swift code:
let pi = 3.14
pi = 3.14159
print(pi)
medium
A. No error, prints 3.14159
B. Compile-time error: cannot assign to value: 'pi' is a 'let' constant
C. Runtime error: variable not initialized
D. Syntax error: missing semicolon

Solution

  1. Step 1: Check reassignment of constant

    The code tries to assign a new value to pi, which was declared with let and is immutable.
  2. Step 2: Understand Swift's error

    Swift does not allow changing a constant's value, so this causes a compile-time error.
  3. Final Answer:

    Compile-time error: cannot assign to value: 'pi' is a 'let' constant -> Option B
  4. Quick Check:

    Reassigning let constant causes compile error = D [OK]
Hint: Constants cannot be changed after assignment [OK]
Common Mistakes:
  • Trying to reassign let constants
  • Expecting runtime error instead of compile error
  • Ignoring error messages
5. You want to store the number of days in a week as a constant in Swift. Which code correctly declares this and prevents accidental changes later?
hard
A. let daysInWeek // Assign value later
B. var daysInWeek = 7 // Later changed to 8 accidentally
C. constant daysInWeek = 7 // Prevents changes
D. let daysInWeek = 7 // daysInWeek cannot be changed later

Solution

  1. Step 1: Choose correct keyword for constant

    Using let declares a constant that cannot be changed after assignment.
  2. Step 2: Check code correctness

    let daysInWeek = 7 // daysInWeek cannot be changed later declares and assigns daysInWeek with 7 and prevents changes later. var daysInWeek = 7 // Later changed to 8 accidentally uses var which allows changes. constant daysInWeek = 7 // Prevents changes uses invalid keyword. let daysInWeek // Assign value later declares without assignment, which is invalid for constants.
  3. Final Answer:

    let daysInWeek = 7 // daysInWeek cannot be changed later -> Option D
  4. Quick Check:

    Use let with assignment to make constant = A [OK]
Hint: Use let with immediate value to make constant [OK]
Common Mistakes:
  • Using var instead of let for constants
  • Trying to declare let without initial value
  • Using non-Swift keywords like constant
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