"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. :slight_smile:


#3

you help me a lot!!! tnx! :wink:


#4

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