Bird
Raised Fist0
Pythonprogramming~10 mins

Multiple return values in Python - Interactive Code Practice

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
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to return two values from the function.

Python
def get_coordinates():
    x = 10
    y = 20
    return [1]
Drag options to blanks, or click blank then click option'
A[x, y]
B(x + y)
Cx, y
Dx
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Returning a list instead of multiple values.
Returning only one value.
2fill in blank
medium

Complete the code to unpack the returned values into variables.

Python
def get_name_and_age():
    return "Alice", 30

name, [1] = get_name_and_age()
Drag options to blanks, or click blank then click option'
Aage
Byears
Cvalue
Dinfo
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using only one variable to unpack two values.
Using a variable name that doesn't match the returned data.
3fill in blank
hard

Fix the error in the function to correctly return multiple values.

Python
def calculate():
    sum = 5 + 3
    diff = 5 - 3
    return [1]
Drag options to blanks, or click blank then click option'
A[sum, diff]
Bsum, diff
Csum + diff
D(sum)
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Returning a list instead of multiple values.
Returning the sum of the values instead of both separately.
4fill in blank
hard

Fill both blanks to create a function that returns the square and cube of a number.

Python
def powers(num):
    square = num [1] 2
    cube = num [2] 3
    return square, cube
Drag options to blanks, or click blank then click option'
A**
B*
C+
D//
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using multiplication instead of exponentiation.
Using addition or floor division operators.
5fill in blank
hard

Fill all three blanks to create a dictionary comprehension that maps words to their length if length is greater than 3.

Python
words = ["apple", "bat", "car", "door"]
lengths = { [1]: [2] for [3] in words if len([3]) > 3 }
Drag options to blanks, or click blank then click option'
Aword
Blen(word)
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using the length as the key.
Not filtering words by length.

Practice

(1/5)
1.

What does a Python function return when it has multiple values separated by commas in the return statement?

easy
A. A tuple containing all the returned values
B. A list containing all the returned values
C. Only the first value is returned
D. A dictionary with values as keys

Solution

  1. Step 1: Understand Python return behavior

    When multiple values are separated by commas in a return statement, Python groups them into a tuple automatically.
  2. Step 2: Identify the returned data type

    The returned object is a tuple containing all the values, not a list or dictionary.
  3. Final Answer:

    A tuple containing all the returned values -> Option A
  4. Quick Check:

    Multiple values returned = tuple [OK]
Hint: Multiple returns become a tuple automatically [OK]
Common Mistakes:
  • Thinking it returns a list
  • Assuming only one value is returned
  • Confusing tuple with dictionary
2.

Which of the following is the correct syntax to return multiple values a and b from a function?

easy
A. return a, b
B. return {a: b}
C. return [a, b]
D. return {a, b}

Solution

  1. Step 1: Review return syntax for multiple values

    Python allows returning multiple values separated by commas without parentheses.
  2. Step 2: Compare options

    return a, b is correct and returns a tuple. return {a: b} returns a dictionary, return [a, b] returns a list, and return {a, b} returns a set, which are not typical for multiple return values.
  3. Final Answer:

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

    Comma-separated values return tuple [OK]
Hint: Use commas without brackets to return multiple values [OK]
Common Mistakes:
  • Using brackets unnecessarily
  • Returning list or set instead of tuple
  • Syntax errors with braces
3.

What will be the output of this code?

def get_values():
    return 5, 10

x, y = get_values()
print(x + y)
medium
A. 510
B. TypeError
C. 15
D. None

Solution

  1. Step 1: Understand function return and unpacking

    The function returns two values 5 and 10 as a tuple. Variables x and y capture these values separately.
  2. Step 2: Calculate the sum

    Adding x and y means 5 + 10 which equals 15.
  3. Final Answer:

    15 -> Option C
  4. Quick Check:

    5 + 10 = 15 [OK]
Hint: Unpack returned tuple into variables to use values [OK]
Common Mistakes:
  • Concatenating numbers as strings
  • Forgetting to unpack tuple
  • Expecting a list instead of tuple
4.

Find the error in this code snippet:

def split_name(full_name):
    first, last = full_name.split()
    return first, last

f, l, m = split_name('John Doe')
medium
A. Missing return statement
B. Too many variables to unpack returned values
C. Function split_name returns a list, not tuple
D. split() method does not work on strings

Solution

  1. Step 1: Analyze returned values and unpacking

    The function returns two values: first and last name. The caller tries to unpack into three variables.
  2. Step 2: Identify mismatch in unpacking

    Trying to assign two returned values to three variables causes a ValueError due to too many variables to unpack.
  3. Final Answer:

    Too many variables to unpack returned values -> Option B
  4. Quick Check:

    Returned 2 values but unpacked into 3 variables [OK]
Hint: Match number of variables to returned values [OK]
Common Mistakes:
  • Unpacking into more variables than returned
  • Assuming split returns tuple always
  • Ignoring ValueError messages
5.

Given this function that returns multiple values, how can you modify it to return the sum and product of a list of numbers?

def calculate(numbers):
    # Your code here

result = calculate([1, 2, 3, 4])
print(result)

Choose the correct implementation to return both sum and product.

hard
A. def calculate(numbers): total = sum(numbers) product = 0 for n in numbers: product += n return total, product
B. def calculate(numbers): return sum(numbers) + product(numbers)
C. def calculate(numbers): return [sum(numbers), product(numbers)]
D. def calculate(numbers): total = sum(numbers) product = 1 for n in numbers: product *= n return total, product

Solution

  1. Step 1: Calculate sum and product correctly

    Sum is calculated using built-in sum(). Product requires initializing to 1 and multiplying each number.
  2. Step 2: Return both values as multiple return values

    Return total and product separated by comma to return a tuple.
  3. Final Answer:

    def calculate(numbers): total = sum(numbers) product = 1 for n in numbers: product *= n return total, product -> Option D
  4. Quick Check:

    Return sum and product as tuple [OK]
Hint: Return sum and product separated by comma [OK]
Common Mistakes:
  • Using product = 0 and adding instead of multiplying
  • Trying to add sum and product instead of returning both
  • Returning list instead of tuple