본문 바로가기

PY(Python Image Processing)/중학수학기초

13정수와유리수의곱셈

728x90
from fractions import Fraction
from functools import reduce

def calculate_multiplication(values):
    fractions = [Fraction(value) for value in values]

    # 곱셈
    product_result = reduce(lambda x, y: x * y, fractions)
    print(f'입력한 값들의 곱: {product_result}')

    # 곱셈법칙
    reversed_fractions = fractions[::-1]
    product_explanation = f'{fractions[0]} * {fractions[1]} * {fractions[2]} * {fractions[3]} * {fractions[4]} * {fractions[5]} * {fractions[6]} * {fractions[7]} == '
    product_explanation += f'{reversed_fractions[0]} * {reversed_fractions[1]} * {reversed_fractions[2]} * {reversed_fractions[3]} * {reversed_fractions[4]} * {reversed_fractions[5]} * {reversed_fractions[6]} * {reversed_fractions[7]}'
    print(f'곱셈법칙 적용 과정: {product_explanation}')
   
    product_check = product_result == reduce(lambda x, y: y * x, reversed_fractions)
    print(f'곱셈법칙 적용 결과: {product_check}')

# 사용자로부터 값 입력 받기
inputs = []
for i in range(8):
    value = input(f"{i + 1}번째 유리수를 입력하세요: ")
    inputs.append(value)

# 계산 및 결과 출력
calculate_multiplication(inputs)
728x90