Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình Python tính tích các số hữu tỷ bằng hàm reduce


Cho một danh sách các cặp (tử số, mẫu số) đại diện cho các số hữu tỷ. Sử dụng hàm reduce() từ module functools để nhân lần lượt tất cả các phân số này. Kết quả trả về dưới dạng cặp (tử số, mẫu số) đã rút gọn.

Ví dụ: với [(5,3), (2,8), (6,9), (5,12), (7,2)], tích là 175/432.

Các bước thực hiện

  • Chuyển từng cặp thành đối tượng Fraction từ module fractions.
  • Dùng reduce(lambda x, y: x * y, fracs) để nhân dồn.
  • Trả về (t.numerator, t.denominator).

Ví dụ mã nguồn

from fractions import Fraction
from functools import reduce

def solve(frac):
    fracs = [Fraction(*f) for f in frac]
    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))  # (175, 432)

Đầu vào / Đầu ra

Input:  [(5,3),(2,8),(6,9),(5,12),(7,2)]
Output: (175, 432)