from functools import reduce
a = (1, 2, 3, ['1','1'], [1, [2, [3, [4]]]])
def args_all_to_list(*args):
try:
data=list(*args)
return data
except:
data=list(args)
return data
def data_list(a):
data = []
f = 0
for x in a:
if type(x) is int:
data.append(x)
f += 1
elif type(x) is str:
data.append(int(x))
elif type(x) is list or tuple:
data += list(x)
if f == len(a):
return data
return data_list(data)
def chen(*args):
return reduce(lambda x, y: x * y, data_list(args_all_to_list(*args)))
print(chen(1,2))
print(chen(1,2,[1]))
print(chen(a))
python 连乘 递归 参数可以是多个可迭代对象
最新推荐文章于 2021-02-19 19:25:00 发布