【Python】if文やelse文を用いた条件分岐の書き方とサンプルコードと併せて解説!

今回はPythonにおけるif文やelse文,elif文を用いた条件分岐の書き方について解説していきます。

Pythonではインデントを用いてコードを制御しているため、他の言語とはまた違った書き方になっておりますので、そのあたりも注意して解説いたします。

なお、そもそもif文とは何ぞやといったチュートリアル的な話は以下の記事でしているので、そちらから確認したいという人は参考にしてみてください。

この記事でわかること

if 文の書き方とサンプルコード
else 文の書き方とサンプルコード
elif 文の書き方とサンプルコード

スポンサーリンク
目次

if文の基本的な書き方

“if” 文の基本構文は以下のようになっております。

if 条件式:
     実行する処理


-例
if today == “01.01” :
     print(“あけましておめでとうございます”)
     print(“今年もよろしくお願いします。”)

条件式に合致した場合のみ(条件がTrueだった場合)if文のブロック内に記載した処理が実行されます。
ブロック化した処理に関しては何行書いても対象となることは把握しておきましょう。

また、他の言語だと括弧で囲んでif文の処理であることを示しますが、Pythonの場合は括弧は使わずインデントを用いる点に注意してください。
さらに、コロンも忘れがちなのでそちらも注意してください。

else文を使った条件式に合致しない処理の書き方

次にif文で記載した条件に対して”true(真)”にならないようなケースにおいて処理を実行したい場合の書き方について解説します。
条件に合致しない場合は、その他の処理として “else” 文を用いることで処理の設定が可能です。

else文の書き方については以下のようになります。

if 条件式:
     実行する処理

else :
     条件に合致しないときに実行する処理


-例
if weather == “rain” :
     print(“今日は雨です。”)
else :
     print(“止まない雨はない”)
     print(“でもお前に明日はない”)

if文にて設定した条件に合致しなかった場合に実行されます。
条件に合致しなかった様々なケースを一括りで拾えることができるのでかなり便利です。

elif文を使った複数条件の書き方

続いてelif文を使った複数条件の書き方について解説いたします。
if文は記載するケースは何も一つだけとは限らず、複数条件設定したい場合がありますよね。
その場合はelif文を用いることで、設定することが可能になります。

elif文の書き方は以下のようになります。

if 条件式:
     実行する処理

elif 条件式2 :
     実行する処理2


-例
if point > average :
     print(“良い点数ですね!”)
elif point == average :
     print(“平均値です。”)
elif point < point :
     print(“もうちょっと頑張りましょう”)
else :
     print(“測定不能です”)

elif文は上記のように複数設定が可能です。
Pythonにはswitch文というのが存在しませんので、複数条件がある場合はこのように、複数羅列して書くようにしましょう。

なお、if文やelse文は当然ですが、一つしか書けませんのでご注意ください。

if文のネスト

いくつかの条件を並列して記載したい時はOR演算子やAND演算子を利用することで可能になりますが、条件にはある条件の中で、さらにいくつかの条件を設定したい場合が多々あるとおもいます。

例えばコロナでよく話題があがる、抗原検査の「陽性と診断された人の中で、実際に陽性だった人と、陰性だった人」みたいなのを振り分けるときに必要になってきます。

if文ではこういったときに対応するできるようにネスト(入れ子に)させることができます。
マトリョーシカみたいな状況ということですね。

ネストの書き方は以下の通りです。

if 条件式:
     if 条件式2 :

          実行する処理
     elif 条件式3 :
          実行する処理

-例
if attack <= 1500 :
     if drawcard = “monster”
          attackcount + 1
     else:
          HP = HP – attack * attackcount

ネストしたif文の中に書く処理はさらにインデントを重ねる必要があることに注意してください。

また、ネストする回数自体には制限がありませんので、必要であれば複数回ネストすることができます。
ただし、ネストが深くなればなるほど見づらくはなりますので、並列に書ける条件であればネストせずAND演算子等を使用して並列に書くようにしましょう。

if文で使用する比較演算子

最後にif文で使用できる比較演算子をまとめて記載しておきますので、書き方を忘れてしまった場合にご参照ください。

演算子内容
<a < ba が b より小さければTrue
<=a <= ba が b 以下であればTrue
>a > ba が b より大きければTrue
>=a >= ba が b 以上であればTrue
==a == ba と b が同等の値であればTrue
!=a != b a と b が同等の値でなければTrue
isa is ba と b が同じオブジェクトであればTrue
is nota is not ba と b が同じオブジェクトでなければTrue
ina in ba が bに含まれる値であればTrue
not ina not in ba が bに含まれる値でなければTrue

以上で、if文の書き方については終了です。

読みづらい、間違っている個所がありましたらご連絡いただければ幸いです

今回はここまでです。
お疲れ様です。

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

この記事を書いた人

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

コメント

コメントする

目次
閉じる