■四則計算

●除算の注意点

除算は「/」と「//」が使用できる。「//」では浮動小数点の計算であっても小数点以下が切り捨てられるので注意が必要です。

整数と整数の除算の場合は小数点以下が切り捨てられて結果も整数となります。(切捨ては結果の数値を超えない値へ切り捨てられます。負の場合は注意して下さい)

●剰余とべき乗

剰余は「%」,べき乗は「**」という演算子です。

5 % 3       # 2
5 ** 2      # 25

■平方根計算

Mathクラスの「math.sqrt()」を使って平方根を求めます。

●サンプルコード

# -*- coding: utf-8 -*-
import math

def main():
    a = 9
    b = math.sqrt(a)
    print(b)

if __name__ == "__main__":
    main()

 

■三角関数計算

●角度⇔ラジアン変換

ラジアン(弧度法)と度(度数法)を相互に変換するにはmath.degrees()math.radians()を使います。

ラジアンから度に変換するのがmath.degrees()で、度からラジアンに変換するのがmath.radians()です。

mathモジュールで三角関数・逆三角関数を使用するときはラジアンが角度の単位になるため、使用頻度は結構高いです。

●サンプルコード

print(math.degrees(math.pi))
# 180.0

print(math.radians(180))
# 3.141592653589793

●正弦・逆正弦

正弦を求める関数はmath.sin()、逆正弦を求める関数はmath.asin()です

●サンプルプログラム

プログラムでは円周率を丸める影響で誤差が生じる。(30度の正弦は0.5)

小数点以下を丸める場合はround()関数を使用する。

sin30 = math.sin(math.radians(30))
print(sin30)
# 0.49999999999999994

asin05 = math.degrees(math.asin(0.5)) 
print(asin05)
# 29.999999999999996 

asin05_round = round(asin05, 3)
print(asin05_round)
# 30.0

●余弦・逆余弦

余弦を求める関数はmath.cos()、逆余弦を求める関数はmath.acos()です

正弦の場合と同じく、小数点以下を丸める場合はround()関数を使用してください。

cos60 = math.cos(math.radians(60))
print(cos60)
# 0.5000000000000001

acos05 = math.degrees(math.acos(0.5))
print(acos05)
# 59.99999999999999

●正接・逆正接

正接を求める関数はmath.tan()、逆正接を求める関数はmath.atan()またはmath.atan2()

math.atan(x)は引数が一つで、arctan(x)をラジアンで返します。戻り値は-pi / 2からpi / 2(-90度から90度)の間になります。

math.atan2(y, x)は引数が二つで、arctan(y / x)をラジアンで返します。この角度は、極座標平面において原点から座標(x, y) へのベクトルが x軸の正の方向となす角度であり、戻り値は-piからpi(-180度から180度)の間になります。

print(math.degrees(math.atan(1)))
# 45.0

print(math.degrees(math.atan(-1)))
# -45.0

print(math.degrees(math.atan(math.inf))) #infは無限大を表現する
# 90.0
print(math.degrees(math.atan(-math.inf)))
# -90.0

print(math.degrees(math.atan2(1, 1)))
# 45.0
print(math.degrees(math.atan2(1, -1)))
# 135.0
print(math.degrees(math.atan2(-1, -1)))
# -135.0
print(math.degrees(math.atan2(-1, 1)))
# -45.0

 

  • Facebook
  • twitter
  • Hatena