円周率の近似値のインポート

円周率の近似値のインポート

円周率の近似値

 Python で 円周率 π の近似値を使いたいときには、mathモジュールの math.pi , あるいは numpyモジュールの numpy.pi をインポートします。

math.pi

 math.pi は mathモジュールに用意されている 16 桁の円周率近似値です。

# PI_01

# mathモジュールをインポート
import math

# 円周率の近似値
x = math.pi

# 円周率の近似値の桁数
y = len(str(x))-1

print("pi = {}".format(x))
print("桁数 {}".format(y))
pi = 3.141592653589793
桁数 16

 桁数を求めるときに、str関数で文字列に変換して len関数で長さを求め、小数点1文字を差し引いています。

 from math import pi と記述して math.pi を呼びだしておけば、pi という名前で円周率を扱えます。

# PI_02

# mathモジュールから円周率の近似値をインポート
from math import pi

print(pi)
3.141592653589793

 

math.tau

 math.tau は数学定数 τ の近似値を呼び出します。τ は [円周/半径] 、すなわち円周率の 2 倍に等しい定数として定義されています。

# PI_03

import math

# τ=2*piの近似値
x = math.tau

print("τ = {}".format(x))
τ = 6.283185307179586

 from math import tau によって math.tau をインポートしておけば、tau という名前で τ を扱うことができます。

# PI_04

from math import tau

# τ=2*pi の近似値を表示
print(tau)
6.283185307179586

 

numpy.pi

 numpy.pi は numpyモジュールに用意されている 16 桁の円周率近似値です。

# PI_05

import numpy as np

# 円周率πの近似値
x = np.pi

# 円周率πの近似値の桁数
y = len(str(x))-1

print("pi = {}".format(x))
print("桁数 {}".format(y))
pi = 3.141592653589793
桁数 16

 精度は math.pi と同じです。
 numpyモジュールを np という名前で扱うのは慣習です。
 from numpy import pi と記述して numpy.pi をインポートすると、pi という名前で円周率を扱えるようになります。

# PI_06

# numpyモジュールから円周率の近似値をインポート
from numpy import pi

print(pi)
3.141592653589793

 

PythonとKerasによるディープラーニング

新品価格
¥4,190から
(2019/8/21 23:37時点)

円周率近似値を用いた計算例

 math.pi を用いた計算例を載せておきます。
 numpy.pi を用いても結果は同じなので、好きな方を使ってください。

円の周長と面積の計算

 半径 5 の円の周長と面積を計算するサンプルコードです。

# PI_07

# mathから円周率の近似値をインポート
from math import pi

# 半径 5 の円の周長と面積を計算
# (p は perimeter, s は surface area の頭文字)
circle5_p = 2 * pi * 5
circle5_s = pi * 5 ** 2

print("L = {}".format(circle5_p))
print("S = {}".format(circle5_s))
L = 31.41592653589793
S = 78.53981633974483

 

球の表面積と体積の計算

 半径 11 の球の表面積と体積を計算するサンプルコードです。

# PI_08

# mathから円周率の近似値をインポート
from math import pi

# 半径 11 の球の表面積と体積を計算
# (s は surface area の頭文字, v は volume の頭文字)
sphere11_s = 4 * pi * 11 ** 2
sphere11_v = (4 * pi * 11 ** 3) / 3

print("S = {}".format(sphere11_s))
print("V = {}".format(sphere11_v))
S = 1520.53084433746
V = 5575.279762570685