我试图返回序列中浮动项的最大值和最小值的差值。输出应该是一个int,但是下面给出的算法返回一个列表。有人能告诉我我错过了什么吗?
def flatten(*args):
res = []
for el in args:
if isinstance(el,(tuple)):
if el != ():
res.extend(flatten(*el))
continue
else:
return "Empty"
res.append(el)
diff = [max(res)-min(res)]
return diff
>>> a
(1, 2)
>>> b
(1, (7, 8))
>>> flatten(a,b)
[1]发布于 2017-06-12 09:34:55
以下flatten(*args)函数返回给定的最大数目参数值与给定的最小数目参数值之间的差值:
def flatten(*args):
return max(args) - min(args)对flatten(*args)的示例调用
>>> flatten(1,2)
1
>>> flatten(10,2)
8
>>> flatten(10,2,20)
18发布于 2017-06-12 09:58:59
在赋值diff时,方括号中有max(res) - min(res),只有在列表中有元素时才使用它。
相反,请执行以下操作:
diff = max(res) - min(res)
https://stackoverflow.com/questions/44490175
复制相似问题