유리수 모듈 fractions

manmarru·2023년 12월 9일
0

파이썬

목록 보기
5/5

fractions 파이썬 공식 문서

import fractions

유리수를 다루는 모듈, 파이썬 표준 라이브러리에 있다.

분수 생성

Fraction(분자, 분모)
기약분수인 Fractions 객체가 생성된다.
객체끼리의 연산이 가능하다.

import fractions
a = fractions.Fraction(1,3)  # a = 1/3
b = fractions.Fraction(0.5)  # 소수가 분수로 변환되어 1/2이 된다.

print(a+b)
#5/6 
print(float(a))
#0.3333333333333333

분자, 분모를 각각 호출하기

분자: numerator, 분모: denominator

from fractions import Fraction
a = Fraction(1,3)
print(a.numerator, a.denominator)

소수를 분수로 반환하기

소수.as_integer_ratio()
동일한 값의 기약분수를 (분자, 분모)튜플로 반환한다.

print(0.75.as_integer_ratio())
#반환값 (3,4)

분수가 정수인지 체크 (파이썬 3.12)

(Fracrion객체).is_integer()
분수가 정수이면 True를, 아니면 False를 반환한다.

from fractions import Fraction
a = Fracions(1,2)
print(a.is_integer())

가장 가까운 값의 분수 찾기

limit_denominator(max_denominator=1000000)
분모가 최대 max_denominator인 self에 가장 근사한 Fractions를 찾아서 반환한다.

from fractions import Fraction
Fraction(3.141592).limit_denominator(1000) #Fraction(355,113)
Fraction(3.141592).limit_denominator(100)  #Fracions(311,99)
from math import pi, cos
Fraction(cos(pi/3))
#Fraction(4503599627370497, 9007199254740992)
Fraction(cos(pi/3)).limit_denominator()
#Fraction(1, 2)
Fraction(1.1).limit_denominator()
#Fraction(11, 10)

바닥 함수

floor(Fraction객체)
가장 작은 int <= self 를 반환한다. (math.floor()과 동일)
천장함수는 ceil(Fraction)

from math import floor
frac = Fraction(355,113) #위에 만든 파이 근사값
print(frac.floor())
#3

포매팅

from fractions import Fraction
frac = Fraction(5,2)
print('{0}'.format(frac))
#5/2

0개의 댓글