この記事を読むことで、
・関数で立体図形の体積を算出
・Pythonでの累乗(二乗、三乗)などの書き方
・ドリルの様に演習してPythonの関数に慣れる
についての概要が掴めます。
■ 立方体の体積を求める ■
立方体についてですが、例えばサイコロも立方体です。
体積の求め方は、縦、横、高さをそのままかけた値です。
立方体は縦、横、高さの全てが同じ長さです。
今回は3cmの立方体の体積を求めます。
まず、辺の長さをここで定義しています。
side=3
次に関数を呼び出します。
volume=cube(side)
立方体の体積を求めるcube関数が引数にside(今回は3cm)で呼び出されました。
では、cube関数のコードです。
#立方体の体積を計算する関数
def cube(x):
return x**3
このxの所に3が入って3乗の計算結果をreturnで返しています。
二乗でも考え方は同じですが、三乗ではこのように書いています。
x**3
それが戻り値としてvolumeに入ります。
volume=cube(side)
ここまでのコードと実行結果です。
#立方体の体積を計算する関数
def cube(x):
return x**3
#辺の長さを定義
side=3
#関数を呼び出し
volume=cube(side)
#立方体の体積を表示
print('立方体の体積は【'+str(volume)+'】cm^3です。')

■ 直方体の体積を求める ■
では次に、直方体の体積を求めます。
直方体の体積は、タテ×ヨコ×高さなので、この様にコードを書き換えました。
関数の名前を図形ごとに変えるのは手間ですので、これ以降「figure3d」という名称に致しました。
コードと実行結果です。
#直方体の体積を計算する関数
def figure3d(x,y,z):
return x*y*z
#タテ、ヨコ、高さの辺の長さを定義
vertical=3
beside=5
height=7
#関数を呼び出し
volume=figure3d(vertical,beside,height)
#直方体の体積を表示
print('直方体の体積は【'+str(volume)+'】cm^3です。')

■ 三角錐の体積を求める ■
底面積である三角形の面積に高さをかけて3で割っています。
ここではタテ4cm、ヨコ5cm、高さ6cmとしています。
また、底面積が三角形であることと何々錐で3で割っているため、整数で求めています。
コードと実行結果です。
#三角錐の体積を計算する関数
def figure3d(x,y,z):
return x*y/2*z/3
#タテ、ヨコ、高さを定義
vertical=4
beside=5
height=6
#関数を呼び出し
volume=figure3d(vertical,beside,height)
#三角錐の体積を表示
print('三角錐の体積は【'+str(int(volume))+'】cm^3です。')

■ 四角錐の体積を求める ■
次に四角錐(ピラミッド型)の体積を求めます。
こちらは、タテ5cm、ヨコ5cm、高さ6cmとしています。
#四角錐(ピラミッド)の体積を計算する関数
def figure3d(x,y,z):
return x*y*z/3
#タテ、ヨコ、高さを定義
vertical=5
beside=5
height=6
#関数を呼び出し
volume=figure3d(vertical,beside,height)
#四角錐の体積を表示
print('四角錐(ピラミッド形)の体積は【'+str(int(volume))+'】cm^3です。')

■ 円柱の体積を求める ■
円柱の体積は、円の面積に高さをかけて求めるので、円周率πを使うため、mathモジュールをインポートしました。
また、円周率は桁数が長いので、小数点以下3桁まで求める様にしました。
ここではこの記事に合わせて、円の半径を5cm、円柱の高さを10cmとしています。
#円周率πを使うため、mathモジュールをインポートする
import math
#円柱の体積を計算する関数
def figure3d(r,h):
return math.pi*r**2*h
#半径と高さを定義
radius=5
height=10
#関数を呼び出し
volume=figure3d(radius,height)
#小数点以下3桁まで求める
volume=round(volume,3)
#円柱の体積を表示
print('円柱の体積は【'+str(volume)+'】cm^3です。')

■ 円錐の体積を求める ■
最後に円錐(道路などにあるコーン)の体積を求めます。
底円の面積に高さをかけて3で割ると求められます。
円周率πを使うので、mathモジュールをインポートしています。
ここでは半径を4cm、高さを6cmとしています。
#円周率を使うため、mathモジュールをインポートする
import math
#円錐の体積を計算する関数
def figure3d(r,h):
return math.pi*r**2*h/3
#半径と高さを定義
radius=4
height=6
#関数を呼び出し
volume=figure3d(radius,height)
#小数点以下3桁まで求める
volume=round(volume,3)
#円錐の体積を表示
print('円錐(コーン形)の体積は【'+str(volume)+'】cm^3です。')

お疲れ様でした。ブレイクタイムPhotoは、

稲村ヶ崎海岸です。江ノ電で行きました。
ご精読ありがとうございました。
■ 独習Python ■
Kindle版
単行本(ソフトカバー)