【Python関数で長方形、三角形、台形】関数を「カレーライス」に例えて、平面図形の面積を求める

この記事を読むことで、

Pythonの関数をカレーライスを作る例を通して理解

簡単な平面図形の面積が求められる

についての概要が掴めます。

関数とは、ざっくり言って、「カレー鍋」です。
鍋に入れる「ジャガイモ、ニンジン」が引数、出てきた料理が戻り値です。

それでは、肩の力を抜いて、長方形、三角形、台形の面積を使いながら関数に慣れて行きましょう!


最初に、縦5cm、横3cmの長方形の面積を計算します。
コードと実行結果を載せます。

#長方形の面積を計算する関数
def rectangle(x,y):
  return x*y

#長方形の縦と横の長さを設定
vertical=5
beside=3

#長方形の面積を計算する関数を呼び出して戻り値をareaとする
area=rectangle(vertical,beside)

print('長方形の面積は【'+str(area)+'】cm^2+です。')

では、簡単ですが、このプログラムをトレースしてみます。
長方形面積は、「縦×横」ですね。

変数verticalに縦の長さをここでは「5」、変数besideに横の長さをここでは「3」とします。

長方形はrectangleなので、長方形を計算する関数をrectangleとしました。
ですので、カレー鍋がrectangleになります。

area=rectangle(vertical,beside)

これで、rectangleというカレー鍋に、ジャガイモのverticalと、ニンジンのbesideが入って煮込みます。

def rectangle(x,y): 
 return x*y

鍋に入れるときに、verticalはx、besideはyに入ります。

verticalやbesideが引数と呼ばれることに対し、x,yは仮引数と呼ばれます。

return x*y

で、出来上がったカレーライスがお手元に届けられます。

コードの縦verticalと横besideの値を変えると、当然求まってくる長方形の面積も変わりますので、コードを書き換えてみます。

縦8cm、横11cmにしてみます。

#長方形の面積を計算する関数
def rectangle(x,y):
  return x*y

#長方形の縦と横の長さを設定←ここの長さを変える
vertical=8
beside=11

#長方形の面積を計算する関数を呼び出して戻り値をareaとする
area=rectangle(vertical,beside)

print('長方形の面積は【'+str(area)+'】cm^2+です。')

ここで変数や関数名のことですが、基本的に英語にしますので、ローマ字でtate、yoko,chouhoukeiとは書かずに、縦(vertical)や横(beside)や長方形(rectangle)という名前にします。

英語が苦手でも今はGoogle翻訳なども使えるので、変数名を決める時の参考にしています。


今度は三角形を求められるようにコードを改変してみます。
関数の戻り値のところを2で割ると、お馴染みの公式、底辺×高さ÷2ですね。
割り算をしているので、int関数を使って整数値を求めています。

#三角形の面積を計算する関数
def triangle(x,y):
  return int(x*y/2)

#三角形の底辺と高さ
bottom=4
height=3

#三角形の面積を計算する関数を呼び出して戻り値をareaとする
area=triangle(bottom,height)

print('三角形の面積は【'+str(area)+'】cm^2+です。')

実行結果です。


最後に台形を求めるプログラムに変更致します。
台形(trapezoid)は、

(上底+下底)×高さ÷2

で求められます。

上底を5cm、下底を7cm、高さを4cmをします。
コードと実行結果です。

#台形の面積を計算する関数
def trapezoid(x,y,z):
  return int((x+y)*z/2)

#台形の上底と下底と高さ
top_side=5
bottom_side=7
height=4

#台形の面積を計算する関数を呼び出して戻り値をareaとする
area=trapezoid(top_side,bottom_side,height)

print('台形の面積は【'+str(area)+'】cm^2+です。')


関数って最初は面倒でしたが、慣れるととても便利です。
各機能が分かりやすくなって、コードも見やすくなります。

ざっとまとめると、関数がカレー鍋、引数がジャガイモやニンジン、戻り値が出来上がったカレーです。

お疲れ様でした。ブレイクタイム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ミラーレス一眼を使っています。

モバイルバージョンを終了