这是来自codecadamy的练习,以下计划是查找假期的总成本,包括旅行费用,飞机费用以及一些花钱。来到这个问题,在最后一个函数中我输入了3个参数日,城市和花钱,但当我点击提交按钮时,它显示我以正确的方式输入参数。
答案 0 :(得分:1)
您的函数rental_car_cost(days)
没有返回任何内容。你可能意思是这样的:
def rental_car_cost(days):
rental = 40*days
if days >= 7:
rental -= 50
elif days >= 3 or days < 7:
rental -= 20
return rental
答案 1 :(得分:1)
最新问题
TypeError
抱怨添加int
和NoneType
是由于MarkG在下面指出的问题:因为您没有明确地从rental_car_cst
返回任何内容,你隐式返回None
(请注意,这种行为与Perl或Ruby的行为不同,两者都返回评估函数中最后一个表达式的结果)。所以你要向None
添加一个整数,这是没有意义的。
invalid syntax
错误是由于Python不允许在return
语句中使用赋值表达式,因此return rental -= 50
无效({{1}之后两行)。由于-= 20
无论如何都是本地变量,因此分配无论如何都无效,因此您可以rental
。或者,您可以无条件地取出return rental - 50
和 else
,并在return rental
块内正确设置if
:
rental
第一期(旧)
我没有使用Code Academy,所以我不熟悉导致特定错误消息的原因,但您看到的消息可能是因为Python解释器从未看到对if days >= 7:
rental -= 50
elif days >= 3 or days < 7:
rental -= 20
return rental
的调用,当然你不是“以正确的方式进入论证。”
正如我的评论中所提到的,原因是你的trip_cost
行是缩进的,所以在 print trip_cost...
函数中。因此,解释器看到trip_cost
后跟四个函数定义,然后脚本结束......所以没有任何函数曾经实际调用,并且解释器退出而没有做任何事情。