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

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

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

この記事の練習問題で使用する知識:
1.基礎文法、2.制御構造3.関数とスコープ4.データ構造5.オブジェクト指向

<<前のページ Python記事一覧 次のページ>>

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("あなたは未成年です。")

正解例の詳細解説

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

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

<<前のページ Python記事一覧 次のページ>>

質問用コンタクトフォーム

この記事はAIを用いて書いた記事です。

人間の目による確認も行っていますが、もし間違い等ありましたらご指摘いただけると大変助かります。






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