我在codecademy上的Python代码有什么问题?

时间:2015-10-06 05:09:43

标签: python if-statement arguments function

我目前正在使用codecademy学习Python,但我遇到了问题。这些是方向:

  

在现有代码下方,定义一个名为days的函数   使用名为elif的参数。计算租车费用:   每天租车的费用为40美元。如果你租车7或   更多天,你可以获得50美元的总折扣。或者(def rental_car_cost(days): cost = days * 40 if days >= 7: cost -= 50 elif days >= 3: cost -= 20 return cost ),如果你   租车3天或以上,你可以获得20美元的总折扣。您   无法获得上述两种折扣。退还该费用。

以下是我的代码:

<xsl:template match="*[@unit]">
    <xsl:element name="{name()}" namespace="{$vNamespace}">
        <xsl:value-of select="."/>
    </xsl:element>
    <xsl:element name="{name()}unit" namespace="{$vNamespace}">
        <xsl:value-of select="@unit"/>
    </xsl:element>
</xsl:template>

当我尝试保存并提交该代码时,它给了我这个错误:

  

哎呀,再试一次。你创建了一个名为rental_car_cost的函数吗?

有谁知道我做错了什么?

1 个答案:

答案 0 :(得分:0)

似乎函数定义在函数调用之下。 您应该将上面的代码段放在函数调用之上。
例如下面编写的代码会在调用函数之前给出错误。

rental_car_cost(7)
def rental_car_cost(days):
  cost = days * 40
  if days >= 7:
    cost -= 50

  elif days >= 3:
    cost -= 20

return cost

以下代码段会为我们提供正确的输出。

def rental_car_cost(days):
  cost = days * 40
  if days >= 7:
    cost -= 50

  elif days >= 3:
    cost -= 20

return cost
rental_car_cost(7)