728x90
from fractions import Fraction
def calculate_operations(values):
fractions = [Fraction(value) for value in values]
# 덧셈
sum_result = sum(fractions)
print(f'입력한 값들의 합: {sum_result}')
# 교환법칙
reversed_fractions = fractions[::-1]
commutative_explanation = f'{fractions[0]} + {fractions[1]} + {fractions[2]} + {fractions[3]} + {fractions[4]} + {fractions[5]} + {fractions[6]} + {fractions[7]} == '
commutative_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'교환법칙 적용 과정: {commutative_explanation}')
commutative_check = sum_result == sum(reversed_fractions)
print(f'교환법칙 적용 결과: {commutative_check}')
# 결합법칙
split_index = len(fractions) // 2
first_half = fractions[:split_index]
second_half = fractions[split_index:]
associative_explanation = f'({first_half[0]} + {first_half[1]} + {first_half[2]} + {first_half[3]}) + ({second_half[0]} + {second_half[1]} + {second_half[2]} + {second_half[3]}) == '
associative_explanation += f'{sum(first_half)} + {sum(second_half)}'
print(f'결합법칙 적용 과정: {associative_explanation}')
associative_check = sum_result == sum(first_half) == sum(second_half)
print(f'결합법칙 적용 결과: {associative_check}')
# 사용자로부터 값 입력 받기
inputs = []
for i in range(8):
value = input(f"{i + 1}번째 유리수를 입력하세요: ")
inputs.append(value)
# 계산 및 결과 출력
calculate_operations(inputs)
728x90