この記事を読むことで、
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版
単行本(ソフトカバー)