编译错误后:
Traceback (most recent call last):
File "python", line 29, in <module>
File "python", line 26, in trip_cost
TypeError: 'int' object is not callable
以下是我写的支出计算应用程序的代码。最后在trip_cost函数内部传递了四个参数,但在函数定义中定义了四个参数。
def hotel_cost(nights):
return 140 * nights
def spending_money(money):
return money
def plane_ride_cost(city):
if city == "Charlotte":
return 183
elif city == "Tampa":
return 220
elif city == "Pittsburgh":
return 222
elif city == "LosAngeles":
return 475
def rental_car_cost(days):
cost = 40
if days >= 7:
return (cost * days - 50)
elif days >= 3 < 7:
return (cost * days - 20)
elif days < 3:
return (cost * days)
def trip_cost(city,days,spending_money):
total_trip_cost = plane_ride_cost(city) + rental_car_cost(days) + hotel_cost(days) + spending_money(spending_money)
return total_trip_cost
print trip_cost("LosAngeles",5,600)
答案 0 :(得分:2)
您的本地变量spending_money
覆盖了spending_money()
函数范围内的函数trip_cost
。
由于spending_money()
功能无法执行任何操作,因此您只需直接添加即可。
答案 1 :(得分:0)
def trip_cost(city,days,spending_money):
total_trip_cost = plane_ride_cost(city) + rental_car_cost(days) + hotel_cost(days) + spending_money(spending_money)
return total_trip_cost
在这部分代码上,你要求函数 spend_money(spend_money),问题是变量和函数命名相似,所以python你正在调用函数里面的函数??? 为什么人类对我这样做,我感到困惑,说python 。
一个好的提示和解决方案是更改变量名称或函数名称。
尝试:
def trip_cost(city,days,travelling_cash):
total_trip_cost = plane_ride_cost(city) + rental_car_cost(days) +hotel_cost(days) + spending_money(travelling_cash)
return total_trip_cost
欢呼伴侣!