Lesson 3

The **return value** is the result that our function produces. After execution, a function has the ability to give us a resulting value that can be used elsewhere in our code. We can assign this returned value to a variable or manipulate it according to our requirements.

For instance, let's define a function `calculate_trip_cost`

that calculates the total cost of a trip based on the countries we would like to visit and the cost required to visit each country.

Here is our function:

Python`1# Define a function to calculate the trip cost. 2def calculate_trip_cost(countries, country_costs): 3 total_cost = 0 4 for country in countries: 5 total_cost += country_costs[country] 6 return total_cost`

Let's use it:

Python`1# Presuming the chosen_countries and their costs 2chosen_countries = ['France', 'Italy', 'Spain'] 3country_costs = {'France': 1200, 'Italy': 950, 'Spain': 800} 4 5# Call the function 6trip_cost = calculate_trip_cost(chosen_countries, country_costs) 7print(f"The total cost of the trip is: ${trip_cost}")`

output:

Plain text`1The total cost of the trip is: $2950`

In this example, our function `calculate_trip_cost`

calculates the total cost based on the given parameters, and then returns this total cost. This return value is then stored in the `trip_cost`

variable, which we use to display the trip cost.

You might be pondering why return values are so crucial. Well, return values essentially transform our functions into data factories — they process data and then deliver it for us to use. This practice makes our code modular, flexible, and efficient, as we can reuse functions to create different outputs based on our input data.

Understanding return values deepens your mastery of functions and presents a world of programming possibilities. With return values, your functions aren't simply processing tasks — they're creating something for you to use elsewhere in your program, saving you repetitive work and making your code cleaner and more efficient.

Are you ready to explore this potent functionality of functions? Jump right into the practice section and start mastering the art of return values in Python functions!