我想创建一个函数,该函数可以接收一些参数,可以接收任意数量的参数,并返回最大数和最小数之间的差,但是如果没有传递任何参数,则返回0。
这就是我所拥有的。
def x(*args):
return max(*args) - min(*args)
我知道这不包括返回的0位,但是到目前为止,我已经尝试了一些没有用的东西。
尝试1:
def x(*args):
if args == None:
return 0
else:
return max(*args) - min(*args)
这不起作用,因为我假设不将任何内容传递给*args
也不传递None
。
我也尝试过
def x(*args):
if *args:
return max(*args) - min(*args)
else:
return 0
那也不起作用。
我非常困惑,不确定该怎么办。
该函数需要能够接受任意数量的整数和浮点数形式的参数。我收到的练习示例是:
x(1,2,3,4,6) == 5
x(2,2,6,4,9,8,7,5,9) == 7
x() == 0
答案 0 :(得分:2)
args
将是一个空元组。在这种情况下,可以用来返回0
。
def x(*args):
return max(args) - min(args) if args else 0
答案 1 :(得分:1)
如果未传递任何参数,则args
将为空
只需这样定义一个函数:
def arg_range(*args):
if args: return max(args) - min(args)
else: return 0
答案 2 :(得分:0)
def x(*args):
return len(args) and max(args) - min(args)