Taking a vacation 5/7


#1

Hey, dudes, can you help me finding what is wrong in my code?

def hotel_cost(nights):
    return 140* nights

def plane_ride_cost(city):
    if city == "Charlotte":
        return 183
    elif city == "Tampa":
        return 220
    elif city == "Pittsburgh":
        return 222
    elif city == "Los Angeles":
        return 475
        
def rental_car_cost(days):
    cost = 40 * days
    if days >= 7:
        cost = cost -50
    elif days >= 3:
        cost = cost - 20
    return cost

def trip_cost(days, city):
    return hotel_cost(days) + plane_ride_cost(city) + rental_car_cost(days)

Oops, try again. trip_cost('Charlotte', 4) raised an error: cannot concatenate 'str' and 'NoneType' objects

I just don't know what is wrong
I even tried to add a line like this

trip_cost(5, "Los Angeles")

not indented in the end of the code, but it does not work.

Help me pleeeeeassseee


#2

when the exercise calls the function, the city (for example Charlotte) is the first argument and the days (for example 4) the second argument.

However, your first parameter is days and your second parameter is city. I would swap the parameters


#3

It's very wierd how it worked! But I thank you a lot!!!

Why this happens?


#4

well, i did explain this?

with the parameters the wrong way around, days contain a string (Charlotte for example), and then in your rental_car_cost function:

cost = 40 * days

which results in :

cost = 40 * "Charlotte"

of course that results in a error


#5

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.