python连乘

∏,这个像门框一样的数学符号表示连乘,读音和圆周率π相同。

python中实现相同功能的方法

from functools import reduce
from collections import Iterable


def pi(value: Iterable):
    if not isinstance(value, Iterable):
        return False, '参数不是可迭代对象'
    is_num = all(type(e) in (int, float) for e in value)
    if not is_num:
        return False, '参数包含非数字值'
    result = reduce(lambda x, y: x*y, value)
    return True, result

主要函数解释:

isinstance:判断某个值是否是某种类型

all:逻辑判断,全部为真才为真,有一项为假则为假

reduce:"辗转"处理,处理函数自定义

lambda:匿名函数,没有函数名的定义方法