0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pythonのmathについて、復習メモ。
[Python] math : sqrt / pow / ceil / floor / fabs
[Python] math : factorial / log / gcd / degrees / radians
の続きです。

math.isqrt(n)

nの平方根の整数部分を返す(n は正の整数である必要がある)

import math

n = 25
result = math.isqrt(n)
print(f"isqrt({n}) = {result}")  # 出力: isqrt(25) = 5

n = 26
result = math.isqrt(n)
print(f"isqrt({n}) = {result}")  # 出力: isqrt(26) = 5

math.prod(iterable, *, start=1)

iterableの要素の積を返す
startはオプションの開始値で、デフォルトは1

import math

numbers = [2, 3, 4]
result = math.prod(numbers)
print(f"prod({numbers}) = {result}")  
# 出力: prod([2, 3, 4]) = 24

numbers = [2, 3, 4]
start = 5
result = math.prod(numbers, start=start)  # start値を指定
print(f"prod({numbers}, start={start}) = {result}")  
# 出力: prod([2, 3, 4], start=5) = 120

math.comb(n, k)

nCk (n 個から k 個を選ぶ組み合わせの数) を返す。

import math

n = 5
k = 2
result = math.comb(n, k)
print(f"comb({n}, {k}) = {result}")  # 出力: comb(5, 2) = 10

math.perm(n, k=None)

nPk (n 個から k 個を選ぶ順列の数) を返す
kが指定されていない場合は、nPn (n!) を返す。

import math

n = 5
k = 2
result = math.perm(n, k)
print(f"perm({n}, {k}) = {result}")  # 出力: perm(5, 2) = 20

n = 5
result = math.perm(n)  # kが指定されていない場合
print(f"perm({n}) = {result}")  # 出力: perm(5) = 120

math.fsum(iterable)

iterableの要素の合計を正確に計算する
浮動小数点数の合計で発生する(可能性がある)、丸め誤差を軽減する場合など

import math

numbers = [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
result = sum(numbers)  # 通常のsum関数
print(f"sum({numbers}) = {result}")  
#(誤差が発生)
# 出力: sum([0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1]) = 0.9999999999999999

result = math.fsum(numbers)
print(f"fsum({numbers}) = {result}")  
# 出力: fsum([0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1]) = 1.0

まとめ

今回は、mathモジュールの関数 isqrt, prod, comb, perm, fsum について紹介しました。
そろそろ、今まで紹介した 関数を使って、簡単な対話型ゲームを作ってみようかと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?