初学者级别的简单Python代码

时间:2015-11-12 22:04:05

标签: python

我是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时出现缩进错误: 我真的很困惑。

1 个答案:

答案 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正文之外。

这样就会打印出来。