+:' int'不支持的操作数类型和' NoneType'

时间:2014-12-16 14:54:58

标签: python

此代码应该返回到不同城市旅行的总费用

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'  

1 个答案:

答案 0 :(得分:2)

你有一个错字

"Los_Angeles" != "Los Angeles"

但更重要的是,您没有else案件来处理他们进入不在您名单中的城市的情况