2024-09-29 23:17:00 发布
网友
这是一个来自codecadamy的练习,下面的程序是找出一个假期的总成本,其中包括旅行成本、飞机成本以及一些开销。关于这个问题,在上一个函数中,我输入了3个参数days,city和spending money,但是当我单击submission按钮时,它会显示我以正确的方式输入参数。在
您的函数rental_car_cost(days)没有返回任何内容。你的意思可能是这样的:
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
最新版本
TypeError抱怨添加int和{}是由于下面MarkG指出的问题:因为没有显式地从rental_car_cst返回任何内容,而是隐式返回None(注意,这种行为与Perl或Ruby不同,这两种方法都返回对最后一个表达式的求值结果在函数中)。因此,您正在向None添加一个整数,这是没有意义的。
TypeError
int
rental_car_cst
None
invalid syntax错误是由于Python不允许在return语句中使用赋值表达式,因此return rental -= 50是无效的(两行之后,-= 20也是一样)。由于rental无论如何都是一个局部变量,所以赋值不做任何事情,所以您可以只使用return rental - 50。或者,您可以去掉else和无条件地return rental,在if块中正确设置rental:
invalid syntax
return
return rental -= 50
-= 20
rental
return rental - 50
else
return rental
if
if days >= 7: rental -= 50 elif days >= 3 or days < 7: rental -= 20 return rental
第一期(旧版)
我没有使用过CodeAcademy,所以我不太熟悉导致特定错误消息的原因,但是您看到的消息可能是由于Python解释器从未看到对trip_cost的调用,所以您当然没有“以正确的方式输入参数”
trip_cost
正如我在评论中提到的,原因是您的print trip_cost...行是缩进的,所以它位于trip_cost函数的内部。因此,解释器看到import math后面是四个函数定义,然后脚本结束……因此没有一个函数被实际调用过,解释器不做任何事情就退出。在
print trip_cost...
import math
您的函数
rental_car_cost(days)
没有返回任何内容。你的意思可能是这样的:最新版本
TypeError
抱怨添加int
和{rental_car_cst
返回任何内容,而是隐式返回None
(注意,这种行为与Perl或Ruby不同,这两种方法都返回对最后一个表达式的求值结果在函数中)。因此,您正在向None
添加一个整数,这是没有意义的。invalid syntax
错误是由于Python不允许在return
语句中使用赋值表达式,因此return rental -= 50
是无效的(两行之后,-= 20
也是一样)。由于rental
无论如何都是一个局部变量,所以赋值不做任何事情,所以您可以只使用return rental - 50
。或者,您可以去掉else
和无条件地return rental
,在if
块中正确设置rental
:第一期(旧版)
我没有使用过CodeAcademy,所以我不太熟悉导致特定错误消息的原因,但是您看到的消息可能是由于Python解释器从未看到对
trip_cost
的调用,所以您当然没有“以正确的方式输入参数”正如我在评论中提到的,原因是您的
print trip_cost...
行是缩进的,所以它位于trip_cost
函数的内部。因此,解释器看到import math
后面是四个函数定义,然后脚本结束……因此没有一个函数被实际调用过,解释器不做任何事情就退出。在相关问题 更多 >
编程相关推荐