【Python_立体図形】関数を使いこなして立体図形(立方体・直方体・円柱・三角錐・四角錐・円錐)の体積を求める

この記事を読むことで、

・関数で立体図形の体積を算出

・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版
単行本(ソフトカバー)

Python自作サンプル集へ戻る

写真クリエイターとしての活動
自己紹介

投稿者アバター
nekosiestr
プログラミング学習中のロスジェネ(就職氷河期世代)の発達障害者です。 宜しくお願いします。 趣味で写真を撮っています。 プログラミングは、GAS/HTML/CSS/JavaScript/jQuery/PHP、 発達障害は、自閉症スペクトラムASD/ADHD、その他双極性障害やHSP(5人に1人の繊細さん)などの生きづらさを抱えておりますが、それでも楽しく生きて行きたいです!! 写真は、以前はコンパクトデジカメ、現在は、OLYMPUSミラーレス一眼を使っています。

投稿者: nekosiestr

プログラミング学習中のロスジェネ(就職氷河期世代)の発達障害者です。 宜しくお願いします。 趣味で写真を撮っています。 プログラミングは、GAS/HTML/CSS/JavaScript/jQuery/PHP、 発達障害は、自閉症スペクトラムASD/ADHD、その他双極性障害やHSP(5人に1人の繊細さん)などの生きづらさを抱えておりますが、それでも楽しく生きて行きたいです!! 写真は、以前はコンパクトデジカメ、現在は、OLYMPUSミラーレス一眼を使っています。