先輩、関数はもうPython入門③でマスターしましたよ?
もう少し、実践的で難しい内容も知っておいてほしいんだ
関数をつかってループ処理を実行
ループ処理を実行させる関数を作ります。Python入門③と④で学んだ内容を複合させた内容です。def のあとに関数名を「sum_function(n)」と命名し、改行以降の内容はrange()を使ってn+1までの合算値を算出させるループ処理です。range(11)だったら1~10までの合計値55を算出してくれるやつですね。
1 2 3 4 5 |
def sum_function(n): s=0 for i in range(n+1): s=s+i print(s) |
これで関数の定義は完了です。n=10の時の合算値を関数を呼び出して算出します。
1 |
sum_function(10) |
→55
関数をつかってif_elif_else文を実行
if_else!?初めて出てきたぞ!?
落ち着け、英語のif、elseとほぼ同じだ。なんてことない。
たとえば、僕の身長と後輩君の伸長を例に下記のコードを作ってみた
私の身長を180、後輩君の身長を170と定義します。「if = もし~ならば」、「elif = 2回目以降のもし~ならば」、「else = そうでないならば」という意味になりますが、今回はifとelifをyacchan > junior(後輩君) と yacchan < junior(後輩君)という条件に設定しました。またelseの「そうでない条件」は身長が同じであることです。
1 2 3 4 5 6 7 8 |
yacchan = 180 junior = 170 if yacchan > junior: print("やっちゃんさん、背が高くて、しかもイケメンですね!") elif yacchan > junior: print("やっちゃんさん、見下ろしちゃってすみません!") else: print("身長、同じくらいですね") |
→やっちゃんさん、背が高くて、しかもイケメンですね!
私の身長のほうが後輩君より10㎝高いので、背が高くてイケメンであるということが出力されました。出力される文章の内容は適宜かえてみてくださいね^^。
理解できました!早速、関数に組み込んでみたいです!
よっしゃ!
1 2 3 4 5 6 7 8 |
def sum_function2(m,n): s = 0 if m < n: for i in range(m,n+1): s = s + i print(s) else: print('Error!') |
sum_function2(m,n)という関数にif_else文、そしてif_else文の中にrange関数入りfor文を組み込んでいます。これまでの学んだことをすべて含めてます^^。nがmより大きい場合m~nまでの数字をfor文により合算してくれます。逆にmがnより大きい場合はError!という文字が出力されます。実際にm=1、n=10とすると、
1 |
sum_function2(1,10) |
→55
と出力されます。
これで関数は色々なパターンを理解できたかと思います。
あとはクラス関数ですかね。。。また次回に!
コメント