【完全理解】Pythonのif文で、複数条件を設定する方法|実例付

※本サイトにはプロモーション・広告が含まれています。

(最終更新日:2023年7月)

✔当記事は以下のような疑問をお持ちの方々に向けて書かれています

「Pythonで複数のif条件をどのように書くのか知りたい」
「Pythonのif文に複数の条件を設定する方法を学びたい」
「Pythonのif複数条件のコーディング例を確認したい」

✔当記事を通じてお伝えする内容

  • Pythonのif文の基本的な使い方
  • 複数の条件を持つPythonのif文の書き方とその適用
  • Pythonのif複数条件のコード実例

当記事では、Pythonのif文の基本的な使い方から複数の条件を持つif文の書き方まで、具体的なコーディング例を用いて丁寧に解説しています。

ぜひ、最後までお読みいただき、Pythonのif文の理解を深めてください。

筆者プロフィール

筆者プロフィールアイコン

【現職】プロダクトマネージャー

【副業】ブログ(月間17万PV)/YouTube/Web・アプリ制作

「プログラミング × ライティング × 営業」の経験を活かし、30後半からのIT系職へシフト。当サイトでは、実際に手を動かせるWebアプリの開発を通じて、プログラミングはもちろん、IT職に必要な情報を提供していきます。

【当ブログで紹介しているサイト】

当サイトチュートリアルで作成したデモ版日報アプリ

Django × Reactで開発したツール系Webアプリ

✔人に見せても恥ずかしくないコードを書こう

「リーダブルコード」は、わかりやすく良いコードの定義を教えてくれる本です。

  • 見るからにきれいなコードの書き方
  • コードの分割方法
  • 変数や関数の命名規則

エンジニアのスタンダートとすべき基準を一から解説しています。

何回も読むのに値する本なので、ぜひ手にとって読んでみてください。

Pythonのif文基礎:書き方と読み方

このセクションでは、Pythonの基本的な「if文」について説明します。

  • if文の基本構造
  • 実例で理解を深める

if文の基本構造

Pythonのif文は、以下のように構成されます。

if 条件式:

その後のインデント内に、条件式が真(True)の場合に実行するコードを記述します。

if 条件式:
    # 条件式が真の場合に実行するコード

実例で理解を深める

具体的な例として、ある数が10より大きいかどうかを判定するif文を考えてみましょう。

num = 15
if num > 10:
    print("Number is greater than 10.")

このコードは、「num」が10より大きい場合、「Number is greater than 10.」と表示します。

「num」が10以下であれば何も表示されません。

if文で複数条件の指定:and(全て満たす)を使う

次に、Pythonのif文で複数の条件を指定する方法を見ていきましょう。

  • andを使用した複数条件の基本文法
  • andを使った複数条件の実例

andを使用した複数条件の基本文法

Pythonのif文では、「and」を使って複数の条件を指定できます。

以下の形式です。

if 条件1 and 条件2:
    # 条件1と条件2が両方とも真の場合に実行するコード

andを使った複数条件の実例

例として、ある数が10より大きく、20より小さいかどうかを判定するif文を考えてみましょう。

num = 15
if num > 10 and num < 20:
    print("Number is between 10 and 20.")

このコードは、「num」が10より大きく、かつ20より小さい場合、「Number is between 10 and 20.」と表示します。

if文で複数条件の指定:or(いずれかを満たす)の活用

if文で複数条件の指定をする際に、「or」が使えます。

  • orを使用した複数条件の基本文法
  • orを使った複数条件の実例

orを使用した複数条件の基本文法

“or”を使用すると、いずれかの条件が満たされていれば指定したコードが実行されます。

以下の形式です。

if 条件1 or 条件2:
    # 条件1または条件2が真の場合に実行するコード

orを使った複数条件の実例

例として、ある数が10以下、または、30以上であるかどうかを判定するif文を考えてみましょう。

num = 35
if num <= 10 or num >= 30:
    print("数字は10以下または30以上です。")

「num」が10以下または30以上であれば、「数字は10以下または30以上です。」と表示します。

if文の複雑な指定:andとorを組み合わせて使う

より複雑な条件分岐を作成するために、「and」と「or」を組み合わせて使えます。

  • andとorの優先順位
  • andとorの組み合わせルール
  • andとorの組み合わせを使う実例

andとorの優先順位

Pythonのif文において、論理演算子のandとorは次のような優先順位を持ちます。

  1. not(否定)
  2. and(論理積)
  3. or(論理和)

notが最も優先され、次にand、最後にorとなるのです。

# 優先順位による違いを示すコード例

# 条件式1: (True and False) or True
if True and False or True:
    print("条件式1が真です")
else:
    print("条件式1が偽です")

# 条件式2: True and (False or True)
if True and (False or True):
    print("条件式2が真です")
else:
    print("条件式2が偽です")

# 出力結果
# 条件式1が偽です
# 条件式2が真です

andとorの組み合わせルール

“and”と”or”を組み合わせることで、複数の条件の組み合わせによる処理を記述できます。

条件の組み合わせにおいて、括弧でくくり、明示的に優先順位を決められることを覚えておきましょう。

if (条件1 and 条件2) or 条件3:
    # 条件1と条件2が両方真、または条件3が真の場合に実行するコード

andとorの組み合わせを使う実例

例として、ある数が10より大きく20より小さい、または30以上であるかどうかを判定するif文を考えてみましょう。

num = 35
if (num > 10 and num < 20) or num >= 30:
    print("数字は10から20の間、または30以上です。")

「num」が10より大きく20より小さい、または30以上であれば、「数字は10から20の間、または30以上です。」と表示します。

if文で複数の条件分岐:elseの役割と利用法

「else」はif文でより多くの条件分岐を行うためのキーワードです。

  • elseを使った条件分岐の基本文法
  • elseを用いる実例

elseを使った条件分岐の基本文法

“else”は条件式が偽(False)の場合に実行するコードを記述します。

形式は以下のとおりです。

if 条件式:
    # 条件式が真の場合に実行するコード
else:
    # 条件式が偽の場合に実行するコード

elseを用いる実例

例として、ある数が10より大きいかどうかを判断し、それに応じてメッセージを表示するコードを考えてみましょう。

num = 5
if num > 10:
    print("Number is greater than 10.")
else:
    print("Number is 10 or less.")

このコードでは、「num」が10より大きい場合、「Number is greater than 10.」と表示し、それ以外の場合、「Number is 10 or less.」と表示します。

if文でより多くの条件分岐:elifの活用方法

if文の中でさらに多くの条件分岐を行うためには、「elif」を活用します。

  • elifを使った条件分岐の基本文法
  • elifを用いる実例

elifを使った条件分岐の基本文法

“elif”は”else if”の略で、複数の条件式を順番に評価する際に使います。

真の条件に対応する条件で、処理が実行されるのです。

以下の形式で使用します。

if 条件式1:
    # 条件式1が真の場合に実行するコード
elif 条件式2:
    # 条件式1が偽で、条件式2が真の場合に実行するコード
else:
    # 全ての条件式が偽の場合に実行するコード

elifを用いる実例

例として、ある数が10より小さい、10から20の間、または20より大きいかどうかを判断し、それに応じてメッセージを表示するコードを考えてみましょう。

num = 15
if num < 10:
    print("Number is less than 10.")
elif num <= 20:
    print("Number is between 10 and 20.")
else:
    print("Number is greater than 20.")

「num」が10より小さい場合、「Number is less than 10.」と表示し、10から20の場合、「Number is between 10 and 20.」と表示し、それ以外の場合、「Number is greater than 20.」と表示します。

次に、「else」と「elif」を組み合わせた複雑な条件分岐やPythonの簡潔な文法である一行のif文について説明します。

高度なif文:elseとelifの組み合わせ

Pythonでは、「else」と「elif」を組み合わせることで、より複雑な条件分岐を作成することができます。

  • elseとelifを組み合わせた複雑な条件分岐
  • elseとelifを組み合わせる実例

elseとelifを組み合わせた複雑な条件分岐

“elif”と”else”を組み合わせることで、複数の条件式を順番に評価し、それぞれの条件に対応する異なる処理がおこなえます。

以下がその形式です。

if 条件式1:
    # 条件式1が真の場合に実行するコード
elif 条件式2:
    # 条件式1が偽で、条件式2が真の場合に実行するコード
else:
    # 全ての条件式が偽の場合に実行するコード

elseとelifを組み合わせる実例

例として、年齢による映画の料金分類を行うコードを考えてみましょう。

age = 12
if age < 5:
    print("Free")
elif age < 18:
    print("Child rate")
else:
    print("Adult rate")

このコードでは、年齢が5歳未満の場合は”Free”、5歳以上18歳未満の場合は”Child rate”、18歳以上の場合は”Adult rate”と表示します。

Pythonの簡潔な文法:if文を一行で表現する

Pythonでは、コードを簡潔に書くための方法として、if文を一行で表現することができます。

  • 一文で表現するif文の基本ルール
  • 一行if文の実例

一文で表現するif文の基本ルール

Pythonのif文は以下のように一行で表現することも可能です。

コードを短く、読みやすくするための方法です。

# 一行で表現するif文
実行するコード if 条件式 else 実行するコード

一行if文の実例

例として、ある数が10より大きいかどうかを一行で判断し、その結果に応じて異なるメッセージを出力するコードを考えてみましょう。

num = 5
print(""数字は10より大きいです。"") if num > 10 else print("数字は10以下です。")

「num」が10より大きい場合、「数字は10より大きいです。」と表示。

それ以外の場合、「数字は10以下です。」と表示します。

練習問題と解答例

ここでは、今まで学んだ内容を活用して、以下の練習問題を解いてみましょう。

問題1: 以下のコードは何を出力しますか?

x = 7
if x < 10:
    print("xは10未満です。")
elif x < 20:
    print("xは10以上20未満です。")
else:
    print("xは20以上です。")

解答は、”xは10未満です。“となります。

問題2: 以下の一行のif文は何を出力しますか?

print("こんにちは!") if True else print("さようなら!")

解答は、”こんにちは!“です。

まとめ

当記事では、以下をお伝えしてきました。

  • if文の基本的な書き方や読み方
  • if文で複雑な条件分岐を作る方法
  • Pythonらしい簡潔な一行if文の書き方

if文は、コード内で条件による分岐を行うための基本的な構文であり、その理解と使いこなす能力はプログラミング力を上げるために重要です。

複雑な条件を書くときは、その優先順位などの制約でどうやって書けば良いか迷ってしまうでしょう。

そんなときはぜひ当記事を読み返し、根本から理解することをおすすめします。

タイトルとURLをコピーしました