将多个函数一起添加到python中

时间:2013-08-07 02:04:13

标签: python function syntax

所以我在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)

但我没有足够的知识以任何可能的方式修改它(我确实尝试过)

非常感谢所有看过这个的人

2 个答案:

答案 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)

您将看到输出

你可以写一堆printraw_input来询问用户输入的城市和日期。

修改

哦,我没有注意到plane_ride_cost(city)的错误默认返回,只需将其更改为0或当用户输入错误的城市时其他有意义的内容。