파이썬 문법 :: 표준 라이브러리(math, fractions)

 프로그래머스 기초 코딩문제를 복습 하면서 정리한 [표준 라이브러리]



목차

· math 모듈
    1. gcd
    2. lcm

· fractions 모듈의 fraction 클래스 





 

라이브러리 

1. math 모듈의 gcd, lcm 

math 모듈을 import 한 뒤에 gcd() 메서드랑 lcm() 메서드를 쓸 수 있다

호출 : import math 

a) 최대공약수 math.gcd(num1, num2) 
import math
gcd = math.gcd(num, den)          


math 모듈의 gcd 메서드를 안쓰고, 수학적으로 나타내면 아래처럼 표현할 수 있다.
두 값이 똑같이 나눠떨어지는 가장 큰 수를 찾는것
min_value = min(a, b)  # 두 수 중에서 작은 값을 선택 
gcd=0 #최대공약수를 담을 변수 선언 

for i in range(min_value, 0, -1):  # 작은 값부터 1씩 감소시키면서 반복
    if a % i == 0 and b % i == 0:  # 두 수 모두 나누어 떨어지는 수를 찾으면
        gcd = i  # 해당 수를 최대공약수로 반환
        break #멈춤           




b) 최소공배수 math.lcm(num1, num2) 

import math
lcm = math.lcm(num, den)          



2. fractions 모듈의 fraction 클래스 

분수(유리수)를 계산할 때 사용한다. 정수 값을 받아서 분수로 만들기도하고, 분수를 더하기/빼기/나누기/곱하기 할 수 있다. 

호출 : from fractions import Fraction 

from fractions import Fraction

#분수 만들기    
a = Fraction(3, 4)      
b = Fraction(2, 5) 

#분수 덧셈
result = a + b
result2 = Fraction(3, 2) + Fraction(1, 5)

#분수 뺄셈
result = a - b
result2 = Fraction(3, 2) - Fraction(1, 5)

#분수 곱셈
result = a * b
result2 = Fraction(3, 2) * Fraction(1, 5)

#분수 나눗셈
result = a / b
result2 = Fraction(3, 2) / Fraction(1, 5)

#분자, 분모값 
a.numerator	#a의 분자 
b.denominator	#b의 분모          



댓글

이 블로그의 인기 게시물

[KT 에이블스쿨 - IT 트랜드] 국내외 AI 관련 규제

KT 에이블스쿨 : 6-7차 미니프로젝트 - 제안서 기반 솔류션 기획 및 설계

KT 에이블스쿨 : 클라우드 서비스 1일차 정리