第7回|Pythonのif文入門:条件分岐・else・elifとインデントの基本 | はじめてのPython

当サイトでは、コンテンツの一部に広告を掲載しています。
第7回|Pythonのif文入門:条件分岐・else・elifとインデントの基本 | はじめてのPython

はじめてのPython | 第7回

第7回 if文で条件分岐してみよう

目次

1. はじめに

この回では、条件によって処理を分ける方法を学びます。これまでのプログラムは、上から順番に同じ流れで実行されていました。

if 文を使うと、条件が成り立つときだけ特定の処理を実行できます。入力された値に応じて結果を変えるときにも使うため、基本を確実に押さえます。

2. この回で学ぶこと

  • if の基本
  • else の使い方
  • elif の使い方
  • インデントの役割
  • 条件によって処理を分ける方法

3. 概念の説明

if 文は、条件が成り立つかどうかを判定して処理を分けるための書き方です。

基本の形は次のようになります。

if 条件:
    実行する処理

条件が成り立つときだけ、インデントされた処理が実行されます。

条件が成り立たないときの処理を書きたい場合は else を使います。

if 条件:
    条件が成り立つときの処理
else:
    条件が成り立たないときの処理

さらに、条件を複数に分けたいときは elif を使います。

インデントはとても重要です。Pythonでは、どこまでが if 文の中の処理かをインデントで判断します。

4. サンプルコード

次のコードを見てください。

score = 80

if score >= 80:
    print("合格です")
else:
    print("不合格です")

このコードでは、score が 80 以上なら 合格です、そうでなければ 不合格です と表示します。

5. 実行手順

まず、if_sample.py というファイルを作ります。

touch if_sample.py

if_sample.py をエディターで開き、次のコードを書いて保存します。

score = 80

if score >= 80:
    print("合格です")
elif score >= 60:
    print("もう少しです")
else:
    print("不合格です")

保存したら、ターミナルで次のコマンドを実行します。

python3 if_sample.py

実行結果は次のようになります。

合格です

score の値を 70 や 50 に変えて、表示がどう変わるかも確認してください。

6. コードの読み方

  • score = 80 は、数値の 80score に代入しています。
  • if score >= 80: は、score が 80 以上かどうかを判定しています。
  • 条件が成り立つので、その下の print("合格です") が実行されます。
  • elif score >= 60: は、最初の if が成り立たなかった場合にだけ判定されます。
  • この例では score が 80 なので、elif までは進みません。
  • else: は、ifelif のどちらも成り立たなかったときに実行されます。

7. 初学者がつまずきやすい点

  • if の行の最後には : が必要
  • 条件の下の処理はインデントする
  • elifelse if ではなく elif と書く
  • else に条件は書かない
  • インデントがずれると処理の範囲が変わる

特に、インデントがないと Python はどの処理が if 文の中か判断できません。通常は半角スペース4個でそろえて書きます。

8. よくあるエラー

1つ目は、: を忘れた場合です。

SyntaxError: expected ':'

たとえば if score >= 80 のように書くとエラーになります。

2つ目は、インデントが正しくない場合です。

IndentationError: expected an indented block

たとえば次のような書き方です。

if score >= 80:
print("合格です")

3つ目は、=== を混同した場合です。

SyntaxError: invalid syntax

たとえば if score = 80: のような書き方はできません。

9. 練習用コード

次のコードを practice_if.py として保存して実行してください。

age = 18

if age >= 20:
    print("成人です")
elif age >= 13:
    print("13歳以上です")
else:
    print("12歳以下です")

age の値を変えて、どの条件でどの結果になるか確認してください。

余裕があれば、input()int() を組み合わせて、自分で年齢を入力する形に変えてみてください。

10. この回で理解しておくこと

  • if は条件が成り立つときに処理を実行する
  • else は条件が成り立たないときに使う
  • elif は条件を追加するときに使う
  • Pythonではインデントで処理の範囲を表す
  • 条件によって実行結果を変えられる

11. まとめ

今回は、if 文を使った条件分岐の基本を確認しました。

条件によって処理を分けられるようになると、入力内容に応じて動作を変えるプログラムを書けるようになります。

次の回では、条件を書くために必要な比較演算子と論理演算子を整理します。

12. 次回予告

次回は、== != < <= > >=and or not を学びます。条件式をより正確に書く方法を確認します。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

のいのアバター のい UNIX Cafe マスター

Macintosh Color Classicから始まった旅は、長いWindows時代を経て、Windows10のサポート終了をきっかけにUNIXの世界へ戻ってきました。UNIX Cafeでは、UNIX・Linux・そしてMacな世界を、むずかしい言葉を使わず、物語のように書いています。プログラミングは、アイデアをコンピューターに伝えるための言葉です。簡単な単語と文法を覚えれば、誰でもコマンドを使えます。ぜひ一度、やさしいプログラミングの世界をのぞいてみてください。

Created by UNIX Cafe

目次