此代码应该返回到不同城市旅行的总费用
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 = days*40
if days>=7:
cost = cost - 50
elif days>=3:
cost = cost - 20
return cost
def trip_cost(city,days,spending_money):
return rental_car_cost(days)+hotel_cost(days)+plane_ride_cost(city)+spending_money
print trip_cost("Los_Angeles",5,600)
如果我不调用函数plane_ride_cost
,它运行正常但是如果我这样做则显示以下错误:
Traceback (most recent call last):
File "python", line 25, in <module>
File "python", line 23, in trip_cost
TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'
答案 0 :(得分:2)
你有一个错字
"Los_Angeles" != "Los Angeles"
但更重要的是,您没有else
案件来处理他们进入不在您名单中的城市的情况