【Python 入門】if文④ if文のネスト

前回は条件式を複数組み合わせて複数な条件分岐を行う方法について確認しました。今回は条件分岐にて処理されてきたルートに対してさらに条件を課す方法について確認します。

if文のネストについて

ネストとは入れ子の事です。要はマトリョーシカみたいにif文の中にif文がある状態です。使用場面は様々ありますが例えば、コロナで陽性だと診断された人の中で、本当に陽性だった人を条件分岐で定義したい場合に利用できます。陽性と診断された人(条件式①)が大きな集合で存在し、その中に実際に陽性だった人(条件②)が存在し、これを条件分岐で表現するイメージです。図に起こしてみるとこのような感じでしょうか。

上の赤い部分の人を抽出したいときにif文をネストさせて処理を流します。

if文のネストの書き方

それでは書き方について確認します。ネストさせる場合はブロックの中にブロックを作るので2重の時は、中のブロックはインデントを2つ分下げる必要があります。

書き方については特段難しいことはないでしょう。ただ、ネストが大きくなるとどのブロックがどこにかかっているのかが見づらくなるので、一見して見やすいようにコードを書くことに注意しましょう。

ネストしたif文の例

では、実際のプログラムを確認します。

上記はパチンコを想定して実装したもので、全部同じものがそろったら確定演出を出し、その数値が7だったらjackpotを出すというものです。パチンコをやったことないのでよく知りませんがイメージはつきやすいかと思いますし、実際こんな感じで内部でプログラム組まれてるんじゃないかと想像できますよね。

上記で注目してほしいのはif文の処理の流れです。並列の関係にあれば一方のルートに処理が流れた場合は、もう一方の処理はスキップされますが、中にifブロックがある場合は、ブロック中にある処理を経てからさらに、条件を判定します。

リストの中の一番最後のリストを7以外の数値にすると、「来てます…」「おしい・・・!」となるはずです。こんな感じで、プログラムの中身を弄って遊んでみてください。

今回はここまでです。

お疲れ様でした。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

本業ではPHPを使ったWEBアプリやJavaを使用した基幹アプリを作成しております。Pythonは個人的に勉強しており、E資格を取ったりしたおかげで、業務でAIの研究とかも任されるようになりました。学習のアウトプットのために本サイトを運営しておりますが、これからPythonを学ぶという人のお役に立てればいいなと思います。わからないことや調査して記事にしてほしいことがございましたらご連絡いただけると幸いです。

コメント

コメントする

目次
閉じる