Python:错误的函数参数?

时间:2015-04-22 20:24:04

标签: python

这段代码有什么问题? 我收到这个错误:

  

哎呀,再试一次。 trip_cost应该只有3个参数!

这段代码有什么问题?

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):
    money = 40 * days
    if days >= 7:
        money -= 50
    elif days >= 3:
        money -= 20
    return money

def trip_cost(days,city,spending_money):
    return rental_car_cost(days)+hotel_cost(days) + plane_ride_cost(city) +spending_money

1 个答案:

答案 0 :(得分:2)

给出的错误对您有些误导,因为您的参数传递顺序错误。

说明书要求

  

定义一个名为trip_cost的函数,它接受两个参数:city和days。

稍后您将添加名为spending_money

的第三个参数
  

修改trip_cost函数定义。添加第三个参数spend_money。

您想要的结果是:

def trip_cost(city,days,spending_money):
    return rental_car_cost(days) + hotel_cost(days) + plane_ride_cost(city) + spending_money

如果您更改了参数订单,则会出现如下错误:

  

哎呀,再试一次。 trip_cost(' Tampa',7,0)引发了一个错误:不支持的操作数类型 - :' str'和' int'

这是在第6步。

因此,您应该更改订单。

对于第7步,我尝试更改顺序,我也遇到了这个错误:

  

哎呀,再试一次。 trip_cost应该采用三个参数:city,days和spend_money(按此顺序)。

资料来源:自从我参加以前的课程以来,我自己试过了。

编辑:只是让人们清楚这一点,如果您编写自己的程序时参数顺序不符合特定顺序,那么完全没问题 。但是,在使用非您编写的脚本来检查您的功能是否应该执行的操作的作业和项目中,您应该按照顺序执行。我已经让学生来我的办公室工作时间要求他们的功能是正确的(并且确实如此)但由于参数顺序不同,评分脚本停靠了点。然后我们必须手动重新调整它。简而言之,如果订单与其他人的订单完全相同,只有当您没有使用脚本或要求评分时,它才会正常运行不要强迫你遵守命令。

error