파이썬 문법 :: 표준 라이브러리(math, fractions)
프로그래머스 기초 코딩문제를 복습 하면서 정리한 [표준 라이브러리]
목차
· math 모듈
1. gcd
2. lcm
· fractions 모듈의 fraction 클래스
라이브러리
1. math 모듈의 gcd, lcm
math 모듈을 import 한 뒤에 gcd() 메서드랑 lcm() 메서드를 쓸 수 있다
참조 : 파이썬 공식 설명서 - 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
참조 : 파이썬 공식 설명서 - math 모듈
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의 분모
댓글
댓글 쓰기