【Python】レッスン2-3:elif文を使って複数条件に対応しよう

ながみえ
【Python学習記事のアイキャッチ画像】Lesson2-3 条件分岐(if-elef文)を理解しよう

一つ前のLessonでは条件分岐(if-else文)について学習しました。

今回は条件分岐(if-elif-else文)について見ていきます。

Lesson1:基礎文法編
Lesson2:制御構造編
・Lesson2-1:比較演算子と論理演算子を理解しよう
・Lesson2-2:条件分岐(if-else文)を理解しよう
・Lesson2-3:条件分岐(if-elif-else文)を理解しよう ◁今回はココ
・Lesson2-4:条件分岐(match文)を理解しよう
・Lesson2-5:繰り返し処理(for文)を理解しよう
・Lesson2-6:繰り返し処理(while文)を理解しよう
・Lesson2-7:繰り返しの制御を理解しよう
・Lesson2-8:エラーメッセージを読めるようになろう
・Lesson2-9:例外処理の基礎を理解しよう
・練習問題2-1:ハイアンドロー ゲームを作ろう
・練習問題2-2:数字当てゲームを作ろう
・練習問題2-3:簡単なじゃんけんゲームを作ろう
Lesson3:関数とスコープ編
Lesson4:データ構造編
Lesson5:オブジェクト指向編
次のステップ:Python基礎習得者にお勧めの道5選(実務or副業)

<<前のページ

【Python学習記事のアイキャッチ画像】Lesson2-2 条件分岐(if-else文)を理解しよう

Pythonの記事一覧

Python学習カテゴリの親ページ用アイキャッチ画像(テキスト&問題集)、記事一覧へのリンク案内

次のページ>>

【Python学習記事のアイキャッチ画像】Lesson2-4 条件分岐(match文)を理解しよう

複数の条件をスマートに処理|elif文の使い方と使用例

プログラムでは「もしAなら〜」「そうでなければB」という二択だけでなく、「もしAなら〜」「そうでなければB」「さらにCの場合は〜」といったように、複数の条件を順番に判定したい場面がよくあります。

そのときに活躍するのが elif文 です。

elif文を使えば条件分岐を整理して書けるため、コードの可読性が高まり、複雑な条件処理もシンプルに表現できます。

本記事では、初心者向けに elif文の基本構文と使い方 をわかりやすく解説していきます。

ぜひ最後まで学んで、条件分岐をより柔軟にコントロールできる力を身につけましょう!

【Python】勉強猫がノートパソコンを前にして学習を始める様子。記事内の学習スタート用イラスト

elif文による条件分岐とは?|概要と基本的な書き方

elifは「else if」の略で、1つのif文だけでは足りない場合に使います。

ifの条件がFalseだったときに、次の条件を確認するためにelifを使い、Trueになる条件が見つかった時点で処理を実行します。

以下がelif文の基本的な構文です。

if 条件1:
    # 条件1がTrueの場合の処理
elif 条件2:
    # 条件1がFalseかつ条件2がTrueの場合の処理
else:
    # 全ての条件がFalseの場合の処理

elif文の使用コード例

次に、実際の例を使ってelif文の動作を確認しましょう。

ここではユーザーに数値を入力してもらい、その数が正の数か、ゼロか、または負の数かを判定するプログラムを作成します。

num = int(input("数字を入力してください: "))

if num > 0:    # もしnumが0より大きいなら
    print("この数は正の数です。")
elif num == 0: # もし「numが0より大きい」が成り立たず、numが0なら
    print("この数はゼロです。")
else:          # もし「numが0より大きい」も「numが0」も成り立たないなら
    print("この数は負の数です。")

このプログラムでは、まずif文で入力された数が正の数かどうかを確認します。もしnum > 0がTrueであれば、「この数は正の数です。」というメッセージが表示されます。

次にelif文で数値がゼロかどうかを確認します。もしnum == 0がTrueであれば、「この数はゼロです。」というメッセージが表示されます。

どちらの条件にも該当しない場合はelse文が実行され、「この数は負の数です。」と表示されます。

このように、elifを使うことで複数の条件を順番に確認でき、1つのif-else文ではカバーできない場合にも対応することができます。

まとめ

今回の記事では、elif文を使った複数条件の分岐処理 について学びました。

if文とelse文に加えてelifを組み合わせることで、条件を順番に判定しながら、より細かい条件分岐が表現できるようになりましたね。

この理解は、実用的なプログラムを作るうえで欠かせない基盤となります。自信をもって次の学習へと進んでいきましょう!

Q
サイト改善アンケート|ご意見をお聞かせください(1分で終わります)

本サイトでは、みなさまの学習をよりサポートできるサービスを目指しております。
そのため、みなさまの「プログラミングを学習する理由」などをアンケート形式でお伺いしています。

1分だけ、ご協力いただけますと幸いです。

【Python】サイト改善アンケート
1.このサイトをどのように活用していますか?また、今後どのように活用したいですか?
5.気になっているサービス・商品があれば教えてください。
(複数選択可)
※ 特定の記事に関する内容の場合は、記事番号(Python Lesson〇-〇)をご記入願います。

練習問題:elif文を使ってみよう

この記事で学習した「elif文による分岐処理」を復習する練習問題に挑戦しましょう。

【Python】勉強猫がノートパソコンに向かい、練習問題に挑戦する様子。記事内の休憩用イラスト

問題|天気によって行動を決めるプログラムを作ろう

ユーザーから天気を入力してもらい、その内容に応じた行動を表示するプログラムを作成しましょう。

以下の要件に従ってコードを完成させてください。

  • input 関数を使って天気を入力してもらうこと
  • if-elif-else 文を使って条件分岐を行うこと
  • 入力内容に応じて異なるメッセージを表示すること

ただし、以下のような実行結果となるコードを書くこと。

今日の天気はどうですか(晴れ/雨/曇り)?: 晴れ
外出しましょう!
今日の天気はどうですか(晴れ/雨/曇り)?: 雨
家にいましょう。
今日の天気はどうですか(晴れ/雨/曇り)?: 曇り
軽く散歩でもしましょう。
今日の天気はどうですか(晴れ/雨/曇り)?: こんにちは
指定された言葉は天気ではありません。

ヒント|難しいと感じる人だけ見よう

1からコードを組み立てることが難しい場合は、以下のヒントを開いて参考にしましょう。

Q
ヒント1【コードの構成を見る】

正解のコードは上から順に以下のような構成となっています。

1.ユーザーからの入力を受け取る部分
 1-1. input関数を使ってユーザーから天気を入力
 1-2. 入力された天気を変数 weather に格納

2.条件分岐(if-elif-else文)
 2-1. if文で天気が「晴れ」の場合の処理を実行
 2-2. elif文で天気が「雨」の場合の処理を実行
 2-3. elif文で天気が「曇り」の場合の処理を実行
 2-4. それ以外の天気が入力された場合のelse文を実行

Q
ヒント2【穴埋め問題にする】

以下のコードをコピーし、コメントに従ってコードを完成させて下さい。(クリックして開く)

# 天気によって行動を決めるプログラム
# 使用する文法: 条件分岐(elif文)

# ユーザーから天気を入力してもらう
weather = input("今日の天気はどうですか(晴れ/雨/曇り)?: ")

# 条件分岐を使って天気に応じた行動を表示する

"""【穴埋め問題1】
ここにif文を使って天気が「晴れ」の場合の行動を表示するコードを書いてください。
"""

"""【穴埋め問題2】
ここにelif文を使って天気が「雨」の場合の行動を表示するコードを書いてください。
"""

"""【穴埋め問題3】
ここにelif文を使って天気が「曇り」の場合の行動を表示するコードを書いてください。
"""

"""【穴埋め問題4】
ここにelse文を使って、それ以外の天気が入力された場合のメッセージを表示するコードを書いてください。
"""

このヒントを見てもまだ回答を導き出すのが難しいと感じる場合は、先に正解のコードと解説を見て内容を理解するようにしましょう。

解答例|天気に応じた行動プログラムのコード例

例えば以下のようなプログラムが考えられます。

Q
正解コード
# ユーザーから天気を入力してもらう
weather = input("今日の天気はどうですか(晴れ/雨/曇り)?: ")

# 条件分岐を使って天気に応じた行動を表示する
if weather == "晴れ":
    print("外出しましょう!")
elif weather == "雨":
    print("家にいましょう。")
elif weather == "曇り":
    print("軽く散歩でもしましょう。")
else:
    print("指定された言葉は天気ではありません。")

解答例の解説|天気に応じた行動プログラムの考え方

解答例の詳細解説は以下の通りです。

Q
詳細解説

ユーザー入力部分

weather = input("今日の天気はどうですか(晴れ/雨/曇り)?: ")

ここではinput関数を使用してユーザーからの入力を受け取り、weatherという変数に格納します。

ユーザーには「晴れ」「雨」「曇り」のいずれかを入力してもらうことを期待しています。

条件分岐(if-elif-else文)

if weather == "晴れ":
    print("外出しましょう!")

まず最初にif文で天気が「晴れ」かどうかを確認します。

ユーザーが「晴れ」と入力した場合、「外出しましょう!」というメッセージが表示されます。

elif weather == "雨":
    print("家にいましょう。")

次にelif文を使って天気が「雨」であるかどうかを確認します。

もしユーザーが「雨」と入力した場合、「家にいましょう。」と表示されます。

elif weather == "曇り":
    print("軽く散歩でもしましょう。")

さらに別の条件として、天気が「曇り」であるかどうかをelif文でチェックします。

曇りの場合には、「軽く散歩でもしましょう。」とメッセージが表示されます。

else:
    print("指定された言葉は天気ではありません。")

else文はifおよびelif文のいずれの条件にも当てはまらなかった場合に実行されます。

ここでは、ユーザーが「晴れ」「雨」「曇り」以外の入力をした場合に、「指定された言葉は天気ではありません。」と表示されます。

もっと分かりやすい学習サイトにするために

この記事を読んで「ここが分かりにくかった」「ここが難しかった」等の意見を募集しています。

世界一わかりやすいPython学習サイトにするため、ぜひ 問い合わせフォーム からご意見下さい。

<<前のページ

【Python学習記事のアイキャッチ画像】Lesson2-2 条件分岐(if-else文)を理解しよう

Pythonの記事一覧

Python学習カテゴリの親ページ用アイキャッチ画像(テキスト&問題集)、記事一覧へのリンク案内

次のページ>>

【Python学習記事のアイキャッチ画像】Lesson2-4 条件分岐(match文)を理解しよう

elif文による条件分岐の疑問解消|FAQと用語のまとめ

初心者がつまずきやすいポイントをFAQとしてまとめ、またよく使う専門用語をわかりやすく整理しました。

理解を深めたいときや、ふと疑問に感じたときに役立ててください。

FAQ|elif文による条件分岐に関するよくある質問

Q
Q1. elifはifとどう違うのですか?

elifは、ifの条件がFalseだった場合に、次の条件をチェックするために使います。複数の条件を連続して評価できる点が特徴です。

Q
Q2. elifはいくつまで使っても大丈夫ですか?

特に上限はありませんが、あまりに多くなるとコードの見通しが悪くなるため、5〜6個程度に抑えた方が実用的です。必要に応じて辞書などで処理を整理する方法もあります。

Q
Q3. elifの最後にelseは必ず必要ですか?

いいえ、elseは任意です。すべての条件をelifでカバーしている場合、elseがなくても問題ありません。ただし、想定外の入力に対応するために入れておくと安心です。

Python用語集|elif文による条件分岐に関する用語一覧

今回の記事で出てきた用語・関数などを一覧で紹介します。

このサイトに出てくる 全てのPython用語をまとめた用語集 も活用してください。

Python用語定義・使い方の概要解説記事へのリンク
else直前の if または elif の条件がすべて偽だった場合に実行されるブロックを定義する構文本記事
if-else条件が真のときの処理と偽のときの処理をセットで記述できる構文。条件による分岐を明確に記述可能Lesson2-2
記事URLをコピーしました