if 文で条件を分岐する

Basic python

if 文で条件を分岐する

if 文は「条件が真ならこの処理を行う」という基本的な制御構文です。まずは書式を確認しましょう。

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

インデント(字下げ)された行が条件を満たしたときに実行されます。

Python ではインデントが文法の一部です。スペース4つを基本とし、タブとスペースを混在させないようにしましょう。

if-else と if-elif-else #

条件が満たされないときの処理は else で記述します。

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

複数の条件を順に判定したい場合は elif を使います。

if score >= 90:
    print("S 評価")
elif score >= 80:
    print("A 評価")
elif score >= 70:
    print("B 評価")
else:
    print("リテイク")

elif は「else if」の略で、上から順に評価されます。条件を狭いものから順に並べると分かりやすくなります。

ブロックの入れ子(ネスト) #

if 文の内側でさらに if を使うことができます。

if temperature > 0:
    if temperature >= 37.5:
        print("発熱しています")
    else:
        print("平熱です")
else:
    print("氷点下です")

ネストが深くなり過ぎた場合は、条件式を関数にまとめたり早めに return するなどして見通しを良くしましょう。

試してみよう #

  1. 点数を入力し、80 点以上なら「よくできました」、60 点以上 80 点未満なら「もう少し」、それ未満なら「再チャレンジ」と表示するスクリプトを書いてください。
  2. 年齢と会員ランク(一般 or プレミアム)を入力して、映画チケットの料金を判定するコードを書いてください。10 歳未満は無料、20 歳以上のプレミアム会員は割引など、ルールを自分で決めましょう。