【Python】レッスン2-2:if文による分岐処理を理解しよう

一つ前のLessonでは比較演算子と論理演算子について学習しました。
今回は条件分岐(if-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副業)
if-else文による条件分岐|基本の使い方と実例
プログラムを作るとき、「ある条件を満たしたときだけ処理を行いたい」「条件に応じて処理を変えたい」といった場面は必ず出てきます。
Pythonでそのような条件分岐を実現する基本構文が if文 です。
さらに else文 を組み合わせることで、「もし〜なら」「そうでなければ」といった分岐を柔軟に書けるようになります。
本記事では、if文とelse文の基本的な書き方から実用的な例までを丁寧に解説していきます。
ぜひ最後まで読み進めて、自分のプログラムに条件分岐を取り入れる力を身につけましょう!
if-else文とは?|条件分岐の基本構文
if-else
文 は、プログラムが「条件」によって異なる動作をするように指示する文法です。
条件が「真(True)」であればif
ブロック内の処理が実行され、そうでない場合はelse
ブロックの処理が実行されます。
if-else文の基本的な構文は次の通りです。
if 条件: # 条件がTrueのときの処理 else: # 条件がFalseのときの処理
このシンプルな構文を使って、複雑な判断をプログラムに組み込むことができます。
次に、if-else
文を使った具体的な例を見てみましょう。
ユーザーに数値を入力してもらい、その数値が正の数かどうかを判定するプログラムです。
num = input("数字を入力してください: ") if num > 0: # もしnumが0より大きいなら print("この数は正の数です。") # このコードを実行 else: # もし「numが0より大きい」が成り立たないなら print("この数は正の数ではありません。") # このコードを実行
このコードではユーザーが入力した数値が0より大きければ「この数は正の数です」と表示され、それ以外の場合は「この数は正の数ではありません」と表示されます。
例えば5を入力すると「この数は正の数です」と表示され、-3を入力すると「この数は正の数ではありません」と表示されます。
三項演算子の使い方と書き方の例
if-else
文は通常の形式以外にも、Pythonでは 三項演算子 を使って1行で表現することができます。
これはシンプルな条件分岐を簡潔に書きたい場合に非常に便利です。
三項演算子の基本構文は次の通りです:
値1 if 条件 else 値2
- 条件:
if
の後に続く条件がTrue(真)であれば「値1」が選ばれ、False(偽)であれば「値2」が選ばれます。 - 値1: 条件がTrueの場合に実行される値や処理。
- 値2: 条件がFalseの場合に実行される値や処理。
このように三項演算子を使うことで簡単なif-else
文をより短く表現することができます。
例として、先ほどの数値が正の数かどうかを判定するプログラムを書き換えてみます。
num = input("数字を入力してください: ") # 三項演算子を使った条件式 result = "この数は正の数です。" if num > 0 else "この数は正の数ではありません。" print(result)
if-else
文を1行で表現できるため、コードを簡潔にすることができます。
ただし複雑な条件の場合は通常のif-else
文の方が読みやすいため、状況に応じて使い分けましょう。
まとめ|条件分岐を使いこなしコードに判断力を与えよう
今回の記事では、if文とelse文を使った基本的な条件分岐の書き方 から、三項演算子を用いたより簡潔な表現 まで学びました。
これにより、条件に応じて処理を切り替えたり、シンプルな書き方で可読性を高めたりできるようになりましたね。
プログラムに「判断力」を持たせられるようになったことは、より実用的なコードを書くための大きな一歩です。
小さな例題でも手を動かしながら練習することで、この知識は確実に自分のものになります。
ここで得た理解を積み重ねれば、ますます柔軟で表現力のあるプログラムを書けるようになります。ぜひ自信を持って、次の学習に進んでいきましょう!
- サイト改善アンケート|ご意見をお聞かせください(1分で終わります)
-
本サイトでは、みなさまの学習をよりサポートできるサービスを目指しております。
そのため、みなさまの「プログラミングを学習する理由」などをアンケート形式でお伺いしています。1分だけ、ご協力いただけますと幸いです。
【Python】サイト改善アンケート
練習問題:if-else
文を使ってみよう
この記事で学習した「if文による条件分岐」を復習する練習問題に挑戦しましょう。
問題|年齢判定プログラムを作ろう
ユーザーの年齢を入力してもらい、年齢が20歳以上かどうかを判定するプログラムを作成しましょう。
年齢が20歳以上の場合には「あなたは成人です。」と表示し、20歳未満の場合には「あなたは未成年です。」と表示するプログラムを作成してください。
以下の要件に従ってコードを完成させてください。
input
関数を使用して、ユーザーに年齢を入力してもらうこと。- 入力された年齢を整数型に変換すること。
if-else
文を使って、年齢が20歳以上かどうかを判定すること。- 20歳以上の場合は「あなたは成人です。」、それ以外の場合は「あなたは未成年です。」と表示すること。
ただし、以下のような実行結果となるコードを書くこと。
年齢を入力してください: 25 あなたは成人です。
年齢を入力してください: 18 あなたは未成年です。
解答例|年齢判定プログラムのコード例
例えば以下のようなプログラムが考えられます。
- 正解コード
-
# 年齢を入力してもらう age = int(input("年齢を入力してください: ")) # 条件分岐: 入力された年齢が20歳以上かどうかを確認する if age >= 20: # 条件が真(True)の場合、このブロックのコードが実行される print("あなたは成人です。") else: # 条件が偽(False)の場合、このブロックのコードが実行される print("あなたは未成年です。")
if文による条件分岐の疑問解消|FAQと用語のまとめ
初心者がつまずきやすいポイントをFAQとしてまとめ、またよく使う専門用語をわかりやすく整理しました。
理解を深めたいときや、ふと疑問に感じたときに役立ててください。
FAQ|if文による条件分岐に関するよくある質問
- Q1. if-else文の基本的な書き方は?
-
Pythonでは
if 条件:
の後に処理を書き、必要に応じてelse:
で条件に合わない場合の処理を追加します。インデントに注意し、構造を明確にすることが重要です。
- Q2. if-else文は何個でも使えますか?
-
if-else文は入れ子(ネスト)にしたり、複数並べて使うことが可能です。ただし、複雑になりすぎると可読性が下がるため注意が必要です。
- Q3. if文だけでelseを書かなくても問題ありませんか?
-
はい、elseは必須ではありません。条件が成り立つときだけ特定の処理をしたい場合は、if文単体で問題ありません。
Python用語集|if文による条件分岐に関する用語一覧
今回の記事で出てきた用語・関数などを一覧で紹介します。
このサイトに出てくる 全てのPython用語をまとめた用語集 も活用してください。
Python用語 | 定義・使い方の概要 | 解説記事へのリンク |
---|---|---|
条件分岐 | 条件に応じて実行する処理を変えるための構文で、プログラムの分岐を制御するために使われる | 本記事 |
if-else 文 | 条件が真のときに実行する処理と、偽のときに実行する処理を記述する制御構文 | 本記事 |
三項演算子 | 値1 if 条件 else 値2 の形式で1行に条件分岐を記述できる簡潔な構文 | 本記事 |
真偽値 | 論理的な「真」(True ) または「偽」(False ) を表すデータ型。条件判定に使われる | なし |
elif 文 | 複数の条件を順に判定するための構文で、if と else の間に挟んで使う | Lesson2-3 |