Plan your trip


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 hotel_cost(nights):
return 140*nights

def rental_car_cost(days):
cost = 40 * days
if days>=7 :
return cost - 50
elif days>=3 :
return cost - 20
return cost

def trip_cost(city,days,sending_money) :
return plane_ride_cost(city) + hotel_cost(days) + rental_car_cost(days) + sending_money
print trip_cost=plane_ride_cost(Los Angeles) + hotel_cost(5) + rental_car_cost(days) + spending_money(600)

What is wrong with my code?!


Hi, I just answered your question where you posted it before. I've cut and pasted the answer here as well.

I noticed two things that you should look at:

'Spending money' is spelled 'sending money' in some places, and you made a function trip_cost that takes three arguments (city, days, s(p)ending money).
It should look like this:

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

Now when you want to call and print this function, you want to write it like this:

print trip_cost("Los Angeles", 5, 500)

Don't forget the quotes around Los Angeles. Of course you could use any city, any number of days, and any amount of spending money in place of these figures, for example:

print trip_cost("Pittsburgh", 6, 200)

Functions can be tough to get used to. If I have a function like this:

def give_info(name, age):
    return "Hi " + name + " you're " + age + " years old!"

When I call it (that is, when I want to use it), I enter two real arguments(actual info):

print give_info("John", "twenty")

You are close to a solution. Good luck!