본문 바로가기
Language/Python

Fraction 클래스

by Mesut Özil 2023. 12. 27.

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의 도움을 받아 작성하였습니다.

'Language > Python' 카테고리의 다른 글

pd.concat 함수  (0) 2023.12.30
chr 함수, ord 함수 (시저 암호)  (0) 2023.12.28
NumPy 기본 구문 & 함수  (2) 2023.12.26
List comprehension  (0) 2023.12.24
sorted, sort 함수  (0) 2023.12.22