def sum_of_evens(*n):
if not n:
return False
lis = []
for each in n:
if isinstance(each, list) or isinstance(each, tuple) or isinstance(each, set):
lis.extend([*each])
else:
lis.append(each)
return sum(filter(lambda x: x % 2 == 0, lis))
测试结果如下:
if的情况考虑少了,sum=0要放在第一个if之前,不然每次都会归0
sum = 0这个要放在for 循环在外,不然每次循环sum都重置为0了