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
Methods with return values
📖 Scenario: You are creating a simple calculator program that can add two numbers and return the result.
🎯 Goal: Build a method that takes two numbers, adds them, and returns the sum. Then use this method to get the result and print it.
📋 What You'll Learn
Create a method named add_numbers that takes two parameters: a and b.
The method add_numbers should return the sum of a and b.
Call the method add_numbers with two numbers and store the result in a variable named result.
Print the value of result.
💡 Why This Matters
🌍 Real World
Methods that return values are used in calculators, games, and many apps to perform tasks and give back results.
💼 Career
Understanding how to write and use methods with return values is a key skill for software developers to create reusable and organized code.
Progress0 / 4 steps
1
Create two number variables
Create two variables called num1 and num2 and set them to 5 and 7 respectively.
Python
Hint
Use = to assign values to variables.
2
Define the add_numbers method
Define a method named add_numbers that takes two parameters called a and b. The method should return the sum of a and b.
Python
Hint
Use def to define a method and return to send back the result.
3
Call the add_numbers method and store the result
Call the method add_numbers with num1 and num2 as arguments. Store the returned value in a variable called result.
Python
Hint
Call the method by writing its name and passing the variables inside parentheses.
4
Print the result
Print the value of the variable result to display the sum of the two numbers.
Python
Hint
Use print(result) to show the sum on the screen.
Practice
(1/5)
1. What does a method with a return statement do in Python?
easy
A. It sends a value back to where the method was called.
B. It prints a value on the screen.
C. It stops the program immediately.
D. It creates a new variable automatically.
Solution
Step 1: Understand the purpose of return
The return statement sends a value back from the method to the caller.
Step 2: Differentiate from printing or stopping
Printing shows output but does not send a value back; stopping ends execution.
Final Answer:
It sends a value back to where the method was called. -> Option A
Quick Check:
Method return = sends value back [OK]
Hint: Return sends value back, print shows it only [OK]
Common Mistakes:
Confusing return with print
Thinking return stops the program
Believing return creates variables
2. Which of the following is the correct syntax for a method that returns the sum of two numbers a and b?
easy
A. def add(a, b): return a - b
B. def add(a, b): print(a + b)
C. def add(a, b): return a + b
D. def add(a, b): a + b
Solution
Step 1: Identify correct return usage
The method must use return to send back the sum a + b.
Step 2: Check each option
The version with return a - b returns the difference. The version with print(a + b) prints but returns None. The version with just a + b lacks return. Only def add(a, b): return a + b correctly returns the sum.
Final Answer:
def add(a, b): return a + b -> Option C
Quick Check:
Return sum = def add(a, b): return a + b [OK]
Hint: Return must be followed by value to send back [OK]
Common Mistakes:
Using print instead of return
Omitting return keyword
Returning wrong expression
3. What is the output of this code?
def multiply(x, y):
return x * y
result = multiply(3, 4)
print(result)
medium
A. 7
B. 12
C. 34
D. None
Solution
Step 1: Understand the method call
The method multiply returns the product of 3 and 4, which is 12.
Step 2: Print the returned value
The variable result stores 12, so print(result) outputs 12.
Final Answer:
12 -> Option B
Quick Check:
3 * 4 = 12 [OK]
Hint: Multiply inputs, return result, print shows it [OK]
Common Mistakes:
Adding instead of multiplying
Printing None by missing return
Confusing string concatenation with multiplication
4. Find the error in this method and choose the correct fix:
The method prints but does not return a value, so message is None.
Step 2: Fix by returning the greeting string
Replace print with return to send the greeting back.
Final Answer:
Change print to return inside the method. -> Option D
Quick Check:
Return greeting to assign message [OK]
Hint: Use return to get value, not print [OK]
Common Mistakes:
Expecting print to return a value
Removing needed parameters
Changing variable names incorrectly
5. You want to write a method that returns a dictionary with keys as numbers from 1 to n and values as their squares. Which method below correctly does this?
hard
A. def squares(n):
result = {}
for i in range(1, n+1):
result[i] = i * i
return result
B. def squares(n):
result = []
for i in range(n):
result.append(i * i)
return result
C. def squares(n):
return {i: i + i for i in range(1, n)}
D. def squares(n):
for i in range(1, n+1):
print(i * i)
Solution
Step 1: Understand the requirement
The method must return a dictionary with keys 1 to n and values as squares.
Step 2: Check each option
The loop building result = {}, setting result[i] = i * i for i in range(1, n+1), and returning result is correct. Returning a list fails. The comprehension {i: i + i for i in range(1, n)} uses doubles instead of squares and misses key n. Printing without returning fails.
Final Answer:
def squares(n):
result = {}
for i in range(1, n+1):
result[i] = i * i
return result -> Option A
Quick Check:
Return dict with squares = def squares(n):
result = {}
for i in range(1, n+1):
result[i] = i * i
return result [OK]
Hint: Return dict with keys and squares using loop [OK]