- math 모듈12020년 08월 18일 21시 16분 24초에 업로드 된 글입니다.작성자: sue24
C standard에서 정의한 수학 함수들에 접근할 수 있게 한다.
python에서 math 모듈의 함수를 쓰려면 상단에 import math 를 써 줘야 한다.
대부분의 리턴 값은 float이다.
+) 복소수에 기능을 적용하려면 cmath 모듈을 적용해야 한다.
math.ceil(x)
올림.
math.ceil(3.2) --> 4
math.comb(n,k)
조합.
n개의 아이템 중에서 중복이나 순서 없이 k개의 아이템을 고르는 방법의 수
n, k는 양의 정수
-
k <= n이면, n! / (k! * (n-k)!)
-
k > n이면, 0
math.copysign(x, y)
y의 부호에 x의 절댓값을 리턴한다.
math.copysign(-10, 22) --> 10
math.fabs(x)
절댓값.
math.factorial(x)
x! 리턴
x는 양수이거나 진정수여야 한다.
math.floor(x)
내림.
math.fmod(x,y)
x 나누기 y를 한 나머지.
파이썬의 나머지 계산식인 x % y와 똑같지는 않다.
fmod()는 주로 float와 쓰고, x % y는 주로 정수와 쓴다.
math.frexp(x)
(로그의 가수, 지수)를 리턴한다.
가수는 float이고 지수는 integer이다.
x = m * 2**e
x가 0이라면 (0.0, 0)을 리턴한다.
x가 0이 아니라면 가수의 절댓값은 항상 0.5 이상 1 미만이다.
math.fsum(iterable)
iterable 안에 있는 원소들의 정확한 float 합.
sum([.1, .1, .1, .1, .1, .1, .1, .1, .1, .1]) // 0.999999999999999 fsum([.1, .1, .1, .1, .1, .1, .1, .1, .1, .1]) // 1.0math.gcd(a,b)
a와 b의 최대공약수
gcd(0, 0)은 0이다.
math.isclose(a, b, *, rel_tol=le-09, abs_tol=0.0)
boolean 값을 리턴한다.
a와 b가 가까우면 true, 아니면 false
두 수가 가깝다는 기준은 rel_tol과 abs_tol에 의해 정해진다.
rel_tol은 relative tolerance로 a와 b 사이에 허용되는 절댓값의 최대 차이를 나타낸다.
rel_tol을 5% 주고 싶다면 rel_tol=0.05를 넘기면 된다.
abs_tol은 absolute tolerance로 a와 b 사이에 허용되는 절댓값의 최소 차이다.
abs_tol은 최소 0이어야 한다.
math.isfinite(x)
x가 무한대나 NaN이 아니라면 true를 리턴하고 아니라면 false를 리턴한다.
0.0은 유한한 숫자다.
math.isinf(x)
x가 음/양의 무한대이면 true를 리턴한다.
math.isnan(x)
x가 NaN이면 true를 리턴한다.
math.isqrt(n)
n의 제곱근.
n은 양의 정수여야 한다.
math.1dexp(x, i)
x * (2**i)
frexp()의 반대라고 할 수 있다.
math.modf(x)
x의 소수 부분과 정수 부분을 리턴한다.
둘 모두 x의 부호를 가지고, float 타입이다.
math.perm(n, k=None)
순열
n개의 아이템 중에서 순서는 있지만 중복은 없게 k개의 아이템을 고르는 방법의 수
n, k는 양의 정수이다.
-
k <= n이라면, n! / (n-k)!
-
k > n이라면, 0을 리턴한다.
k가 명시되지 않으면 k는 n으로 간주한다. (리턴 값은 n!)
math.prod(iterable, *, start=1)
iterable의 모든 원소를 곱한다.
시작값의 디폴트는 1이다.
만약 iterable이 비어있으면 시작값을 리턴한다.
import math arr = [1, 2, 3] print(math.prod(arr)) // 6 tup = (0.1, 0.2, 0.3) print(math.prod(tup)) // 0.006 seq = range(1, 10) print(math.prod(seq)) // 362,880math.trunc(x)
x의 정수화.
부호는 x와 똑같다.
NaN은 NaN, null은 0을 리턴한다.
import math print(math.trunc(5.77)) // 5 print(math.trunc(-32.98)) // -32'알고리즘' 카테고리의 다른 글
연결 리스트 (0) 2020.08.24 LIST (0) 2020.08.05 BIg-O (0) 2020.08.02 Computational Thinking이 필요한 이유? (0) 2019.10.07 다음글이 없습니다.이전글이 없습니다.댓글 -