【Python】レッスン2-02:条件分岐(if-else文)を理解しよう

記事内に商品プロモーションを含む場合があります

この記事で学べる知識:条件分岐(if-else文)

この記事の練習問題で使用する知識:
入力と出力の基本コメントの書き方変数の宣言と代入基本データ型と算術演算子文字列の操作、フォーマット文字列比較演算子と論理演算子条件分岐(if-else文)条件分岐(elif文)条件分岐(match文)繰り返し処理(for文)繰り返し処理(while文)繰り返しの制御、エラーメッセージ例外処理の基礎

<<前の問題 問題集Top 次の問題>>

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文について詳しく解説しますので、ぜひご覧ください。




Python練習問題2-2:年齢判定プログラムを作ろう

ユーザーの年齢を入力してもらい、年齢が20歳以上かどうかを判定するプログラムを作成しましょう。

年齢が20歳以上の場合には「あなたは成人です。」と表示し、20歳未満の場合には「あなたは未成年です。」と表示するプログラムを作成してください。

この問題の要件

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

  • input関数を使用して、ユーザーに年齢を入力してもらうこと。
  • 入力された年齢を整数型に変換すること。
  • if-else文を使って、年齢が20歳以上かどうかを判定すること。
  • 20歳以上の場合は「あなたは成人です。」、それ以外の場合は「あなたは未成年です。」と表示すること。

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

*****↓↓正解コードの実行結果の例↓↓*****

年齢を入力してください: 25
あなたは成人です。
年齢を入力してください: 18
あなたは未成年です。

この問題を解くヒント

非常にシンプルな問題のため、ヒントはありません。

難しいと感じる方は上記の解説を見返してみてください。




解答例と解説

この問題の一つの正解例とそのコードの解説を以下に示します。

正解コードの例

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

# ユーザーに年齢を入力してもらうプログラム
# 使用する文法: 条件分岐(if-else文)

# 年齢を入力してもらう
age = int(input("年齢を入力してください: "))

# 条件分岐: 入力された年齢が20歳以上かどうかを確認する
if age >= 20:
    # 条件が真(True)の場合、このブロックのコードが実行される
    print("あなたは成人です。")
else:
    # 条件が偽(False)の場合、このブロックのコードが実行される
    print("あなたは未成年です。")

正解コードの解説

非常にシンプルなコードのため解説はありません。

難しいと感じる方は上記の解説を見返してみてください。

<<前の問題 問題集Top 次の問題>>

この記事への質問・コメント

この記事を作成するにあたりAIを活用しています。

問題ないことは確認していますが、もし間違いや表現の違和感などありましたら、ご指摘頂けると大変助かります。






    Python記事トップへ戻る
    トップページへ戻る