【Python】レッスン2-3:elif文を使って複数条件に対応しよう
一つ前の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副業)
複数の条件をスマートに処理|elif文の使い方と使用例
プログラムでは「もしAなら〜」「そうでなければB」という二択だけでなく、「もしAなら〜」「そうでなければB」「さらにCの場合は〜」といったように、複数の条件を順番に判定したい場面がよくあります。
そのときに活躍するのが elif文 です。
elif文を使えば条件分岐を整理して書けるため、コードの可読性が高まり、複雑な条件処理もシンプルに表現できます。
本記事では、初心者向けに elif文の基本構文と使い方 をわかりやすく解説していきます。
ぜひ最後まで学んで、条件分岐をより柔軟にコントロールできる力を身につけましょう!
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を組み合わせることで、条件を順番に判定しながら、より細かい条件分岐が表現できるようになりましたね。
この理解は、実用的なプログラムを作るうえで欠かせない基盤となります。自信をもって次の学習へと進んでいきましょう!
- サイト改善アンケート|ご意見をお聞かせください(1分で終わります)
-
本サイトでは、みなさまの学習をよりサポートできるサービスを目指しております。
そのため、みなさまの「プログラミングを学習する理由」などをアンケート形式でお伺いしています。1分だけ、ご協力いただけますと幸いです。
【Python】サイト改善アンケート
練習問題:elif文を使ってみよう
この記事で学習した「elif文による分岐処理」を復習する練習問題に挑戦しましょう。
問題|天気によって行動を決めるプログラムを作ろう
ユーザーから天気を入力してもらい、その内容に応じた行動を表示するプログラムを作成しましょう。
以下の要件に従ってコードを完成させてください。
input
関数を使って天気を入力してもらうことif-elif-else
文を使って条件分岐を行うこと- 入力内容に応じて異なるメッセージを表示すること
ただし、以下のような実行結果となるコードを書くこと。
今日の天気はどうですか(晴れ/雨/曇り)?: 晴れ 外出しましょう!
今日の天気はどうですか(晴れ/雨/曇り)?: 雨 家にいましょう。
今日の天気はどうですか(晴れ/雨/曇り)?: 曇り 軽く散歩でもしましょう。
今日の天気はどうですか(晴れ/雨/曇り)?: こんにちは 指定された言葉は天気ではありません。
ヒント|難しいと感じる人だけ見よう
1からコードを組み立てることが難しい場合は、以下のヒントを開いて参考にしましょう。
- ヒント1【コードの構成を見る】
-
正解のコードは上から順に以下のような構成となっています。
1.ユーザーからの入力を受け取る部分
1-1.input
関数を使ってユーザーから天気を入力
1-2. 入力された天気を変数weather
に格納2.条件分岐(
if-elif-else
文)
2-1.if
文で天気が「晴れ」の場合の処理を実行
2-2.elif
文で天気が「雨」の場合の処理を実行
2-3.elif
文で天気が「曇り」の場合の処理を実行
2-4. それ以外の天気が入力された場合のelse
文を実行
- ヒント2【穴埋め問題にする】
-
以下のコードをコピーし、コメントに従ってコードを完成させて下さい。(クリックして開く)
# 天気によって行動を決めるプログラム # 使用する文法: 条件分岐(elif文) # ユーザーから天気を入力してもらう weather = input("今日の天気はどうですか(晴れ/雨/曇り)?: ") # 条件分岐を使って天気に応じた行動を表示する """【穴埋め問題1】 ここにif文を使って天気が「晴れ」の場合の行動を表示するコードを書いてください。 """ """【穴埋め問題2】 ここにelif文を使って天気が「雨」の場合の行動を表示するコードを書いてください。 """ """【穴埋め問題3】 ここにelif文を使って天気が「曇り」の場合の行動を表示するコードを書いてください。 """ """【穴埋め問題4】 ここにelse文を使って、それ以外の天気が入力された場合のメッセージを表示するコードを書いてください。 """
このヒントを見てもまだ回答を導き出すのが難しいと感じる場合は、先に正解のコードと解説を見て内容を理解するようにしましょう。
解答例|天気に応じた行動プログラムのコード例
例えば以下のようなプログラムが考えられます。
- 正解コード
-
# ユーザーから天気を入力してもらう weather = input("今日の天気はどうですか(晴れ/雨/曇り)?: ") # 条件分岐を使って天気に応じた行動を表示する if weather == "晴れ": print("外出しましょう!") elif weather == "雨": print("家にいましょう。") elif weather == "曇り": print("軽く散歩でもしましょう。") else: print("指定された言葉は天気ではありません。")
解答例の解説|天気に応じた行動プログラムの考え方
解答例の詳細解説は以下の通りです。
- 詳細解説
-
ユーザー入力部分
weather = input("今日の天気はどうですか(晴れ/雨/曇り)?: ")
ここでは
input
関数を使用してユーザーからの入力を受け取り、weather
という変数に格納します。ユーザーには「晴れ」「雨」「曇り」のいずれかを入力してもらうことを期待しています。
条件分岐(if-elif-else文)
if weather == "晴れ": print("外出しましょう!")
まず最初に
if
文で天気が「晴れ」かどうかを確認します。ユーザーが「晴れ」と入力した場合、「外出しましょう!」というメッセージが表示されます。
elif weather == "雨": print("家にいましょう。")
次に
elif
文を使って天気が「雨」であるかどうかを確認します。もしユーザーが「雨」と入力した場合、「家にいましょう。」と表示されます。
elif weather == "曇り": print("軽く散歩でもしましょう。")
さらに別の条件として、天気が「曇り」であるかどうかを
elif
文でチェックします。曇りの場合には、「軽く散歩でもしましょう。」とメッセージが表示されます。
else: print("指定された言葉は天気ではありません。")
else
文はif
およびelif
文のいずれの条件にも当てはまらなかった場合に実行されます。ここでは、ユーザーが「晴れ」「雨」「曇り」以外の入力をした場合に、「指定された言葉は天気ではありません。」と表示されます。
elif文による条件分岐の疑問解消|FAQと用語のまとめ
初心者がつまずきやすいポイントをFAQとしてまとめ、またよく使う専門用語をわかりやすく整理しました。
理解を深めたいときや、ふと疑問に感じたときに役立ててください。
FAQ|elif文による条件分岐に関するよくある質問
- Q1. elifはifとどう違うのですか?
-
elifは、ifの条件がFalseだった場合に、次の条件をチェックするために使います。複数の条件を連続して評価できる点が特徴です。
- Q2. elifはいくつまで使っても大丈夫ですか?
-
特に上限はありませんが、あまりに多くなるとコードの見通しが悪くなるため、5〜6個程度に抑えた方が実用的です。必要に応じて辞書などで処理を整理する方法もあります。
- Q3. elifの最後にelseは必ず必要ですか?
-
いいえ、elseは任意です。すべての条件をelifでカバーしている場合、elseがなくても問題ありません。ただし、想定外の入力に対応するために入れておくと安心です。
Python用語集|elif文による条件分岐に関する用語一覧
今回の記事で出てきた用語・関数などを一覧で紹介します。
このサイトに出てくる 全てのPython用語をまとめた用語集 も活用してください。
Python用語 | 定義・使い方の概要 | 解説記事へのリンク |
---|---|---|
else 文 | 直前の if または elif の条件がすべて偽だった場合に実行されるブロックを定義する構文 | 本記事 |
if-else 文 | 条件が真のときの処理と偽のときの処理をセットで記述できる構文。条件による分岐を明確に記述可能 | Lesson2-2 |