Bird
Raised Fist0
Pythonprogramming~20 mins

Variable assignment in Python - Practice Problems & Coding Challenges

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Challenge - 5 Problems
🎖️
Variable Assignment Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Output of chained assignment
What is the output of this code snippet?
Python
a = b = c = 5
print(a, b, c)
A5 5
B5
C5 5 5
DSyntaxError
Attempts:
2 left
💡 Hint
Think about how Python assigns the same value to multiple variables in one line.
Predict Output
intermediate
2:00remaining
Output after multiple assignments
What will be the value of x after running this code?
Python
x = 10
y = x
x = 20
print(y)
ANone
B20
CNameError
D10
Attempts:
2 left
💡 Hint
Remember that y gets the value of x at the time of assignment, not a reference.
Predict Output
advanced
2:00remaining
Output of tuple unpacking assignment
What is the output of this code?
Python
a, b, c = 1, 2, 3
b, c = c, b
print(a, b, c)
A1 2 3
B1 3 2
C3 2 1
DSyntaxError
Attempts:
2 left
💡 Hint
Look carefully at how tuple unpacking swaps values.
Predict Output
advanced
2:00remaining
Output of augmented assignment with mutable object
What is the output of this code?
Python
lst = [1, 2]
lst2 = lst
lst += [3]
print(lst2)
A[1, 2, 3]
B[1, 2]
CTypeError
DNone
Attempts:
2 left
💡 Hint
Remember that lst and lst2 point to the same list object.
Predict Output
expert
2:00remaining
Output of variable assignment with walrus operator
What is the output of this code snippet?
Python
if (n := 5) > 3:
    print(n * 2)
else:
    print(n)
A10
B5
CSyntaxError
DNone
Attempts:
2 left
💡 Hint
The walrus operator assigns and returns the value in the same expression.

Practice

(1/5)
1. What does the following Python statement do?
age = 25
easy
A. Prints the value 25
B. Checks if age is equal to 25
C. Stores the value 25 in the variable named age
D. Deletes the variable age

Solution

  1. Step 1: Understand the assignment operator

    The = sign in Python assigns the value on the right to the variable on the left.
  2. Step 2: Analyze the statement age = 25

    This means the number 25 is stored inside the variable named age.
  3. Final Answer:

    Stores the value 25 in the variable named age -> Option C
  4. Quick Check:

    Assignment means storing value [OK]
Hint: Remember: '=' means store value, not compare [OK]
Common Mistakes:
  • Confusing '=' with '==' for comparison
  • Thinking '=' prints or deletes variables
  • Assuming variable names are values
2. Which of the following is the correct way to assign the value 10 to a variable named count in Python?
easy
A. count == 10
B. count := 10
C. 10 = count
D. count = 10

Solution

  1. Step 1: Identify the assignment operator

    In Python, the single equals sign = is used to assign values to variables.
  2. Step 2: Check each option

    count == 10 uses == which is a comparison, not assignment. 10 = count tries to assign to a value, which is invalid. count := 10 uses walrus operator := which is valid in Python 3.8+, but not standard for simple assignment. count = 10 correctly assigns 10 to count.
  3. Final Answer:

    count = 10 -> Option D
  4. Quick Check:

    Use '=' for assignment [OK]
Hint: Use single '=' to assign values, not '==' [OK]
Common Mistakes:
  • Using '==' instead of '=' for assignment
  • Trying to assign value to a number
  • Confusing walrus operator with assignment
3. What will be the output of this code?
name = "Alice"
age = 30
name = "Bob"
print(name, age)
medium
A. Alice 30
B. Bob 30
C. Alice 0
D. Bob 0

Solution

  1. Step 1: Trace variable assignments

    Initially, name is set to "Alice" and age to 30. Then name is reassigned to "Bob".
  2. Step 2: Understand print output

    The print statement outputs the current values of name and age. Since name was changed to "Bob", and age remains 30, the output is "Bob 30".
  3. Final Answer:

    Bob 30 -> Option B
  4. Quick Check:

    Last assignment wins [OK]
Hint: Last value assigned to variable is what prints [OK]
Common Mistakes:
  • Thinking first assignment stays unchanged
  • Confusing variable names or values
  • Assuming age changes without assignment
4. Identify the error in this code snippet:
5number = 10
print(5number)
medium
A. Variable names cannot start with a number
B. Missing quotes around 5number
C. Assignment operator is wrong
D. print statement syntax error

Solution

  1. Step 1: Check variable naming rules

    In Python, variable names must start with a letter or underscore, not a number.
  2. Step 2: Analyze the code

    The variable name 5number starts with a digit, which is invalid syntax and causes an error.
  3. Final Answer:

    Variable names cannot start with a number -> Option A
  4. Quick Check:

    Variable names start with letter or underscore [OK]
Hint: Variable names cannot begin with digits [OK]
Common Mistakes:
  • Starting variable names with numbers
  • Confusing strings with variable names
  • Assuming print syntax is wrong
5. You want to swap the values of two variables a and b in Python. Which of the following is the correct way to do it?
hard
A. a, b = b, a
B. a = b b = a
C. temp = a b = temp a = b
D. a = a + b b = a - b a = a - b

Solution

  1. Step 1: Understand swapping variables

    Swapping means exchanging values so that a gets b's value and b gets a's value.
  2. Step 2: Analyze each option

    a = b b = a assigns b to a, then a to b, losing original a. temp = a b = temp a = b incorrectly assigns b before a. a = a + b b = a - b a = a - b uses arithmetic swap which works but is less clear and can cause errors with non-numbers. a, b = b, a uses Python's tuple unpacking to swap values correctly and clearly.
  3. Final Answer:

    a, b = b, a -> Option A
  4. Quick Check:

    Use tuple unpacking for swap [OK]
Hint: Swap with a, b = b, a for clean code [OK]
Common Mistakes:
  • Overwriting variables before swapping
  • Using temporary variable incorrectly
  • Using arithmetic swap with non-numbers