Language/Python
Fraction 클래스
Mesut Özil
2023. 12. 27. 09:22
Fraction 클래스
Fraction은 파이썬의 표준 라이브러리 fractions 모듈에 속한 클래스입니다.
fractions 모듈은 분수를 다루기 위한 기능을 제공합니다.
1. 기본적인 Fraction 객체 생성
- Fraction(a, b) = a / b
from fractions import Fraction
# 분자=3, 분모=4인 분수 생성
frac1 = Fraction(3, 4) # 결과: 3/4
# 분자=1, 분모=2인 분수 생성
frac2 = Fraction(1, 2) # 결과: 1/2
# 분자=2, 분모=3인 분수 생성
frac3 = Fraction(2, 3) # 결과: 2/3
2. 산술 연산 수행
# 덧셈
result_add = frac1 + frac2 # 3/4 + 1/2
print(result_add) # 결과: 5/4
# 뺄셈
result_sub = frac1 - frac2 # 3/4 - 1/2
print(result_sub) # 결과: 1/4
# 곱셈
result_mul = frac1 * frac2 # 3/4 × 1/2
print(result_mul) # 결과: 3/8
# 나눗셈
result_div = frac1 / frac2 # 3/4 ÷ 1/2
print(result_div) # 결과: 3/2
3. '부동소수점(float)' → '분수' 변환
- Fraction.from_float(a)
# 부동소수점을 분수로 변환
frac_from_float = Fraction.from_float(0.75)
print(frac_from_float) # 결과: 3/4
4. '분자'와 '분모'의 최대공약수 구하기
- gcd(분자, 분모) = 최대공약수
- 분수.numerator = 분자
- 분수.denominator = 분모
from fractions import gcd
# 최대공약수 구하기
numerator = 6
denominator = 8
common_divisor = gcd(numerator, denominator) # 6과 8의 최대공약수
print(common_divisor) # 결과: 2
5. '문자열(string)' → '분수' 변환
- Fraction.from_string('a') = a
# 문자열에서 분수로 변환
frac_from_string = Fraction.from_string("5/6")
print(frac_from_string) # 결과: 5/6
본 게시글은 ChatGPT의 도움을 받아 작성하였습니다.