所以我在codeacademy的python教程中遇到了这个问题 代码就像这样
def hotel_cost(days):
return days*140
Charlotte = "Charlotte"
Tampa = "Tampa"
Pittsburgh = "Pittsburgh"
LosAngeles = "Los Angeles"
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
else:
return "not"
def rental_car_cost(days):
if days <3:
return days*40
if days >=3 and days<7:
return days*40-20
if days >=7:
return days*40-50
def trip_cost(city,days):
return hotel_cost(days)+rental_car_cost(days)+plane_ride_cost(city)
我再次意识到
语法中的错误def trip_cost(city,days):
return hotel_cost(days)+rental_car_cost(days)+plane_ride_cost(city)
但我没有足够的知识以任何可能的方式修改它(我确实尝试过)
非常感谢所有看过这个的人
答案 0 :(得分:0)
以下功能存在问题。您返回不而不是返回整数。然后,您尝试在 trip_cost 方法中添加返回值。这不行。考虑返回 0 而不是不然后事情应该有效
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
else:
return "not"
答案 1 :(得分:0)
我复制粘贴你的代码,一切运行良好,但没有输出。
所以没有任何显示会让你觉得你的代码错了吗?
只需在最后添加此行:
print trip_cost('Tampa', 10)
您将看到输出
你可以写一堆print
和raw_input
来询问用户输入的城市和日期。
修改强>
哦,我没有注意到plane_ride_cost(city)
的错误默认返回,只需将其更改为0
或当用户输入错误的城市时其他有意义的内容。