如何计算整数的倒数之和?

Rém*_*oux 4 python integer rounding-error fractions one-liner

我想计算一个整数列表的倒数之和(看看它是否大于或等于1):

在此输入图像描述

我想使用整数来避免浮点舍入问题。为此,我想这样解决:

在此输入图像描述

我已经这样做了:

import numpy as np

my_list = [2, 3, 5, 7]
numerator = 0
for i in range(len(my_list)):
    numerator += np.product(my_list[:i] + my_list[i+1 :])
denominator = np.product(my_list)
result = numerator>=denominator
Run Code Online (Sandbox Code Playgroud)

但我觉得应该为此写一句俏皮话。有没有一个函数可以计算分数倒数之和?或者也许是一个从列表中计算分子的函数?

Tim*_*ers 6

Fraction类型可以轻松准确地做到这一点:

>>> from fractions import Fraction
>>> bottoms = [2, 3, 5, 7]
>>> total = sum(Fraction(1, d) for d in bottoms)
>>> total
Fraction(247, 210)
>>> total > 1
True
Run Code Online (Sandbox Code Playgroud)