【Python】ifネスト文の解説【ifのなかにifを入れる】

Pythonのifネスト文に悩んでいる人「if文を学んだ。確かに便利だけど、単純な分岐構造だけでは書きたいコードを書ききれなくて。if文の中にif文を入れることで分岐構造をより複雑に出来るんだと思うんだけど、そのやり方を具体的に教えて欲しい。」
本記事は上記のような悩みを持った方に向けた記事になっています。本記事を読むことで、ifを単独で用いた分岐構造よりも、さらに複雑な分岐構造を書くことが出来るようになるため、コーディングの幅が広がります。
本記事でわかること
- ifのなかにifを入れる方法
【Python】ifネスト文の解説【ifのなかにifを入れる】

今回の記事ではifのなかにifを組み込み複雑な分岐構造を書くやり方を、具体例を出しつつ解説していきます。ですので知識としての蓄えにとどまることなく、コーディングができるレベルまでのスキルを習得することができます。
それでは本記事の本題にうつります。
ifネスト文(ifのなかにifを入れる)を使う方法
いきなり結論ですが、以下のようになります。
if 条件式1:
条件式1がtrueの場合の処理
if 条件式2:
条件式2がtrueの場合の処理
else:
条件式2がfalseの場合の処理
else:
条件式1がfalseの場合の処理
if文のなかに、またif文が入った構造になっています。この時に注意すべき点は以下になります。
- 空白をあける数をif文ごとに揃える
- コードが複雑化するので誤ったコードを書かないようにする
これを用いると具体的にどんなコードが書けるのかをみていきましょう。例として視力検査を取り上げてみます。今回の視力検査の条件を以下に記載します。
- 視力が0.3未満の人は後日再検査
- 視力が0.3以上の人は裸眼か、裸眼でないかによって異なる
- 0.3以上の裸眼でない人は裸眼で再検査
- 0.3以上の裸眼の人は検査終了
これをコード化すると以下のようになります。
if shiryoku>=0.3:
if ragan==true:
print('検査は終了です。お疲れ様でした。')
else:
print('裸眼でもう一度検査を受けてください。')
else:
print('後日再検査を行います。')
#shiryokuはfloat型で視力値、raganはbool型で裸眼かどうか"
まとめ
いかがでしたか。今回はifのなかにif文を入れた入れ子構造の解説を行いました。この入れ子構造ではコードがやや複雑になるので、頭の中をしっかり整理しながら書いていきましょう。
今回の記事はここまでになります。ご覧いただきましてまことに有り難うございました。