Python入門|if-else文で条件による処理を分けよう【レッスン2-2】

一つ前の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を用いたアプリ開発
条件に応じて動作を変える|if-else文の使い方と実例
ここではPythonにおける「条件分岐(if-else文)」の意味や使い方を説明します。必要ない方はここをクリックして練習問題へ飛びましょう。
プログラミングを学ぶ際に条件分岐は欠かせない重要な文法です。
Pythonではif-else
文を使って特定の条件に基づいて異なる処理を実行することができます。
この記事では、Pythonのif-else
文と、それを簡潔に書く方法である三項演算子(条件式)について解説します。
if-else文とは?
if-else
文は、プログラムが「条件」によって異なる動作をするように指示する文法です。
条件が「真(True)」であればif
ブロック内の処理が実行され、そうでない場合はelse
ブロックの処理が実行されます。基本的な構文は次の通りです。
if 条件: # 条件がTrueのときの処理 else: # 条件がFalseのときの処理
このシンプルな構文を使って、複雑な判断をプログラムに組み込むことができます。
次に、if-else
文を使った具体的な例を見てみましょう。
ユーザーに数値を入力してもらい、その数値が正の数かどうかを判定するプログラムです。
num = int(input("数字を入力してください: ")) if num > 0: print("この数は正の数です。") else: print("この数は正の数ではありません。")
このコードではユーザーが入力した数値が0より大きければ「この数は正の数です」と表示され、それ以外の場合は「この数は正の数ではありません」と表示されます。
例えば5を入力すると「この数は正の数です」と表示され、-3を入力すると「この数は正の数ではありません」と表示されます。
三項演算子(条件式)の使い方
if-else
文は通常の形式以外にも、Pythonでは三項演算子を使って1行で表現することができます。これはシンプルな条件分岐を簡潔に書きたい場合に非常に便利です。
例として、先ほどの数値が正の数かどうかを判定するプログラムを書き換えてみます。
num = int(input("数字を入力してください: ")) # 三項演算子を使った条件式 result = "この数は正の数です。" if num > 0 else "この数は正の数ではありません。" print(result)
if-else
文を1行で表現できるため、コードを簡潔にすることができます。
三項演算子の基本構文は次の通りです:
値1 if 条件 else 値2
- 条件:
if
の後に続く条件がTrue(真)であれば「値1」が選ばれ、False(偽)であれば「値2」が選ばれます。 - 値1: 条件がTrueの場合に実行される値や処理。
- 値2: 条件がFalseの場合に実行される値や処理。
このように三項演算子を使うことで簡単なif-else
文をより短く表現することができます。
ただし複雑な条件の場合は通常のif-else
文の方が読みやすいため、状況に応じて使い分けましょう。
まとめ
Pythonのif-else
文は、条件に応じて異なる処理を簡単に記述できる非常に便利な機能です。さらに三項演算子を使うことで、短い条件式を簡潔に表現できます。
シンプルな条件分岐から複雑な条件まで、if,とelseを組み合わせてプログラムの流れを柔軟に制御することが可能です。
なお、次の記事ではさらに複雑な条件分岐を実現するためのelif
文について詳しく解説しますので、ぜひご覧ください。
練習問題:年齢判定プログラムを作ろう
ユーザーの年齢を入力してもらい、年齢が20歳以上かどうかを判定するプログラムを作成しましょう。
年齢が20歳以上の場合には「あなたは成人です。」と表示し、20歳未満の場合には「あなたは未成年です。」と表示するプログラムを作成してください。
問題の詳細条件
以下の要件に従ってコードを完成させてください。
input
関数を使用して、ユーザーに年齢を入力してもらうこと。- 入力された年齢を整数型に変換すること。
if-else
文を使って、年齢が20歳以上かどうかを判定すること。- 20歳以上の場合は「あなたは成人です。」、それ以外の場合は「あなたは未成年です。」と表示すること。
ただし、以下のような実行結果となるコードを書くこと。
年齢を入力してください: 25 あなたは成人です。
年齢を入力してください: 18 あなたは未成年です。
【ヒント】難しいと感じる人だけ見よう
非常にシンプルな問題のため、ヒントはありません。
難しいと感じる方は上記の解説を見返してみてください。
問題の答え合わせと解説
この問題の一つの正解例とそのコードの解説を以下に示します。
一つの正解例
例えば以下のようなプログラムが考えられます。
- 正解コード
-
# ユーザーに年齢を入力してもらうプログラム # 使用する文法: 条件分岐(if-else文) # 年齢を入力してもらう age = int(input("年齢を入力してください: ")) # 条件分岐: 入力された年齢が20歳以上かどうかを確認する if age >= 20: # 条件が真(True)の場合、このブロックのコードが実行される print("あなたは成人です。") else: # 条件が偽(False)の場合、このブロックのコードが実行される print("あなたは未成年です。")
正解例の詳細解説
非常にシンプルなコードのため解説はありません。
難しいと感じる方は上記の解説を見返してみてください。
FAQ|Pythonのif-else文に関するよくある質問
- Q1. if-else文の基本的な書き方は?
-
Pythonでは
if 条件:
の後に処理を書き、必要に応じてelse:
で条件に合わない場合の処理を追加します。インデントに注意し、構造を明確にすることが重要です。
- Q2. if-else文は何個でも使えますか?
-
if-else文は入れ子(ネスト)にしたり、複数並べて使うことが可能です。ただし、複雑になりすぎると可読性が下がるため注意が必要です。
- Q3. if文だけでelseを書かなくても問題ありませんか?
-
はい、elseは必須ではありません。条件が成り立つときだけ特定の処理をしたい場合は、if文単体で問題ありません。
質問用コンタクトフォーム
この記事はAIを用いて書いた記事です。
人間の目による確認も行っていますが、もし間違い等ありましたらご指摘いただけると大変助かります。