我是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 = 40 * days
if days >= 7:
cost -= 50
elif days >= 3 and days <= 6:
cost -= 20
return cost
def trip_cost(city, days, spending_money):
return rental_car_cost(days) + plane_ride_cost(city) + hotel_cost(days) + spending_money
print trip_cost("Los Angeles", 5, 600)
我在不同的shell中试过这个,有些人说打印trip_cost(...)时出现语法错误,有些人说&lt; = 6时出现缩进错误: 我真的很困惑。
答案 0 :(得分:4)
您错误地打印了trip_cost("Los Angeles", 5, 600)
的结果。
def trip_cost(city, days, spending_money):
return rental_car_cost(days) + plane_ride_cost(city) + hotel_cost(days) + spending_money
print trip_cost("Los Angeles", 5, 600)
现在,您编写trip_cost(...)
函数的方式永远不会打印该值,因为它位于函数的return
之后。为了能够打印该值,您必须将print(trip_cost("Los Angeles", 5, 600))
移到trip_cost
正文之外。
这样就会打印出来。