使用reduce函数求有理数乘积的Python程序
假设我们有一个有理数列表。我们必须使用reduce函数找到他们的产品。该reduce()函数从左到右在对象列表上累积应用带有两个参数的函数。
因此,如果输入类似于分数=[(5,3),(2,8),(6,9),(5,12),(7,2)],那么输出将是(175,432)因为5/3*2/8*6/9*5/12*7/2=(5*2*6*5*7)/(3*8*9*12*2)=2100/5184=175/432。
示例
让我们看下面的实现来更好地理解
from fractions import Fraction
from functools import reduce
def solve(frac):
fracs = []
for f in frac:
fracs.append(Fraction(*f))
t = reduce(lambda x, y: x*y, fracs)
return t.numerator, t.denominator
frac = [(5,3),(2,8),(6,9),(5,12),(7,2)]
print(solve(frac))输入
[(5,3),(2,8),(6,9),(5,12),(7,2)]输出结果
(175, 432)
热门推荐
10 新人红包祝福语简短精辟
11 幼师给毕业祝福语简短
12 生日高考祝福语妹妹简短
13 下飞机祝福语简短英文
14 元宵发客户祝福语简短
15 爸妈金婚文案祝福语简短
16 新郎朋友红包祝福语简短
17 虎年五一祝福语大全简短
18 出阁宴祝福语姐姐简短