この記事を読むことで、Pythonの関数をカレーライスを作る時の例を通して実際に手を動かして作ってみることが出来ます。
関数とは、ざっくり言って、「カレー鍋」です。
鍋に入れる「ジャガイモ、ニンジン」が引数、出てきた料理が戻り値です。
肩の力を抜いて、長方形、三角形、台形の面積を使いながら関数に慣れて行きましょう!
あと、プログラミングと英語についても簡単に書きました。
Python自作サンプル集へ
これからプログラミングを学ぶ方へ
プログラミングと資格へ
基本情報技術者試験トップへ
自己紹介
おはこんばんちは!
うにゃうにゃエンジニアの猫です(=^x^=)
最初に、縦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」とします。単位はprint関数内でcmということにしています。
縦の5をジャガイモ、横の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は仮引数と呼ばれると書くと、なんかごちゃごちゃしてしまいそうですが、まぁ、世の中そんなもんだと思っておけば良いんじゃないでしょうか(=^x^=)
return x*y
で、出来上がったカレーライスがお手元に届けられます。
カレーで思い出した、それなりに大事なことを書きますが、アキバヨドバシでパソコンをWindowsからMacbookに買い替えをした時に食べたカレーがめちゃめちゃ美味しかったです。
インドカリーダイニング Cobara-Hetta
もう一度、コード全体を見ますが、その時に、縦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です。')
縦とか横とか長方形とか、今までずっと英語で書いて来ましたけれど、30年ぐらい前、私が中学生だったときに英検3級に落ちて、4級しか持っていない私は本音を言うと、tate、yoko,chouhoukeiなんて書きたい所なんです。
ですが、変数名は慣習として英語を使うので(涙)
困っちまうんですけれど、44歳ながらついでに英語の勉強だと思って、グーグル先生に助けてもらいながらプログラミングをしています。
英語に自信のない方、こんなヤツでもプログラミングの記事を書いてアフリエイトとして収入を得ているので、全然大丈夫!!ですよ(笑)
あ、でも、今この記事をご覧の学生の皆様は、将来私のようにならないように、ちゃんと英語の勉強もした方が後々後悔することも無いかも。
プログラミング英語の動画紹介です。
で、話はプログラミングに戻ります。
今度は三角形を求められるようにコードを改変してみます。
関数の戻り値のところを2で割ると、お馴染みの底辺×高さ÷2ですね。
#三角の面積を計算する関数
def triangle(x,y):
return int(x*y/2)
#三角形の底辺と高さを設定
bottom=4
height=3
#三角形の面積を計算する関数を呼び出して戻り値をareaとする
area=triangle(bottom,height)
print('三角形の面積は【'+str(area)+'】cm^2です。')
3行目でintを使っているのは、整数にするためです。これを外すと6.0cm^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です。')
関数って最初は面倒でしたが、慣れるととても便利です。
各機能が分かりやすくなって、コードも見やすくなるので。
ざっとまとめると、関数がカレー鍋、引数がジャガイモやニンジン、戻り値が出来上がったカレーです。
この記事の後編として今度は体積を求めるプログラムを作りました。
【Python関数初心者向け関数ドリル!!】関数を立体図形で使いこなす!ピラミッドを作れ!(立方体・直方体・円柱・三角錐・四角錐・円錐)
最後までお読み頂きありがとにゃん(=^x^=)
■ 参考文献の紹介 ■
じっくり丁寧にPythonを学びたい方向けの書籍を紹介します。
Pythonを基礎から中級程度まで丁寧に学びたい方におすすめの書籍です。
まずはpaizaラーニングなどの学習コンテンツで1〜2巡(苦手な所は納得がいくまで何巡でも)してからこの本で学ぶと、自分の学習状況をブログなどでアウトプット出来るようになり、また、エラーなどの不明点を調べられる力もついていきます。