# "hey, you never know" problem

#1

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:
return cost - 50
elif days >= 3:
return cost - 20
else:
return cost
def trip_cost(days, city, spending_money):
return rental_car_cost(days)+plane_ride_cost(city)+ hotel_cost(days) + spending_money

what is wrong with this code?
("
Oops, try again. trip_cost('Los Angeles', 1, 0) raised an error: unsupported operand type(s) for -: 'str' and 'int")

#2

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:
return cost - 50
elif days >= 3:
return cost - 20
else:
return cost
def trip_cost(days, city, spending_money):
return rental_car_cost(days)+plane_ride_cost(city)+ hotel_cost(days) + spending_money

Error:
("Oops, try again. trip_cost('Los Angeles', 1, 0) raised an error: unsupported operand type(s) for -: 'str' and 'int")

city is a string variable type, so it can't be changed with other variable types. trip_cost should take those same parameters, only in a different order:

def trip_cost(city, days, spending_money)

If you need an explanation, feel free to ask.

#3

you help me a lot!!! tnx!

#4

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