【Python・制御構文】~if~②
スポンサードリンク
おはようございます!Shotaです。今日もPythonにまつわる記事を書いていきます!今日は「if文」の続きとif文の応用例について紹介していきます!
【目次】
1.elifとin
elif文
昨日で紹介したのは「二者択一」の分岐です。条件に応じて、2つある処理のどちらか一方だけを実行してきました。
しかし、ときには「3つ以上に処理を分岐したい」と思うこともあります。たとえば、じゃんけんのプログラムは出した手がグー・チョキ・パーのいすれかで処理が変化します。つまり3つの分岐が必要です。このときにelifが登場します。
elifの使い方は以下の通りです。
if 条件1:
(条件1がTrueの場合の処理)
elif 条件2:
(条件2がTrueの場合の処理)
---必要なだけelifを用意できる---
else:
(すべての条件がFalseの場合の処理)
処理の流れを見ていくと、条件1から順番にチェックしていくことがわかります。条件がTrueならそのまま処理を実行し、Falseなら次の条件をチェックする。elifの条件がTrueならそこにある処理を実行し、Falseならまた次の条件を実行する…というように、「条件がFalseなら次の条件に進む」ということを繰り返していくのです。
試しに以下のコードを書いて実行してみましょう。
▼実行結果
この場合、「elifの処理」という文字列が表示されるかと思います。これは、変数xが3で割り切れないので、次の行にあるelifの条件を満たして実行しているのです。
このように、条件を複数用意して実行させるためにはelifが必要なのです。
inを使った条件分岐
inを使った条件分岐を考えてみましょう。使い方は以下の通りです。
if 変数 in コンテナ:
(コンテナに変数が入っている場合の処理)
inによるコンテナの値をチェックする機能を使えば、データをカテゴリー化してコンパクトなプログラムを書くことができます。言い換えれば、elifを多用して冗長なプログラムを書く必要がなくなるということです。
2.応用例~「合否判定」のプログラム~
ここまでif文の使い方は説明し終えたので、if文がどのように使われているのか具体的なプログラムを用いて紹介していきたいと思います。それは、「合否判定」のプログラムです。
試しに以下のコードを書いてみましょう。(まずはとりあえずコピペして考えてみましょう)
これで大体の骨組みは完成しました。変数pointを用意して、pointの値(数字)で成績を判定するプログラムを用意します。しかし、このまま実行すると変数pointが定義されていないのでエラーが発生します。
3行目のif文の前に変数pointを定義して入力してみましょう。例えば、「point = 75」と定義します。この場合、pointはelifの条件を満たしているので「合格」という文字が表示されていると思います。
▼実行結果
多量のデータを用意して、上のコードに変数を格納して代入していけば簡単に合否を判定できます。学校の試験の点数で成績の合否を判定するのは、このような仕組みで動いていると考えてもいいでしょう。
if文を用いたプログラムを書いていけば、簡単に合否判定のシステムを作ることができます。
まとめ
【本日のまとめ】
- 条件分岐で、条件を複数用意して実行させるためにはelifが必要。elifは条件の数に合わせてたくさん書いていくことができる
- inによるコンテナの値をチェックする機能を使えば、elifを多用して冗長なプログラムを書く必要がなくなりコンパクトにプログラムを書ける
本ブログでは、こんな感じでPythonにまつわる情報や基本的な知識、Pythonの操作方法やニュースをたくさん紹介していきます。毎週日曜日に、普段とは趣向を変えて有名な自己啓発本・ビジネス書を要約・考察するブログを書いていきます。
この記事がいいと思った人はSNSにシェアしてくれると非常に嬉しいです!
明日は「for文」について紹介していきます。
今日も最後まで読んでくださりありがとうございました!
【参考図書】