プログラミングでは、if文を使った条件分岐を頻繁に使います。
if文を使うと、ある条件に対して、正しいときと、正しくないときで、プログラムの動作を変更できます。
Pythonのif文には、決められた記述方法があります。
if文
Pythonのif文では、次のように書きます。
条件式を比較式と読み替えても良いです。理解しやすい方で考えましょう。
if 条件式: 条件式に合致したときの処理
if文記述のルール:
- ifに続く条件式の終わりに、コロン( : )をつけること
- ifの中の処理を書くときは、インデントといって、字下げをすること
この2つを守らないとエラーメッセージが出るのでご注意ください。
インデントさせる方法は2通りあります。
- キーボードのtabを打つ
- 半角スペースを4つ打つ
IDLEでは、ifの次の行に、自動的にインデントが挿入されるので、tabを打つ必要はありません。
比較演算子
if文では比較演算子を使用します。
最初から全部を暗記する必要はありません。
使うときにその都度確認すれば、そのうちに覚えてしまいます。
演算子 | 説明 |
a == b | aとbが等しい |
a != b | aとbが等しくない |
a > b | aがbより大きい |
a >= b | aがbと等しいかそれ以上 |
a < b | aがbより小さい |
a <= b | aとbが等しいかそれ以下 |
if文の使い方
例えば、昼食を食べる店を探していて、ラーメンの値段が800円未満だったら、その店でラーメンを注文することとします。
その例をif文にすると次のようになります。
ramen = 750
if ramen < 800:
print('お昼はラーメンにしよう')
変数ramenに、800という数値を入れて、
if文の条件式で、比較しています。
このプログラムを実行させると、print文の文字列(お昼はラーメンにしよう)が表示されます。
お昼はラーメンにしよう
>>>
if文を入れ子にする方法
if文の中で、if文を使うことができます。
例えば、ラーメンが800円未満で、餃子が300円未満だったら、お昼はラーメンと餃子を注文することにします。
ramen = 750
gyoza = 250
if ramen < 800:
if gyoza < 300:
print('お昼はラーメンと餃子にしよう')
if文の中で、if文を使うときも、ルールに沿って、コロン( : )とインデント(字下げ)を行います。
プログラムを実行すると、お昼はラーメンと餃子にしよう と表示されます。
お昼はラーメンと餃子にしよう
>>>
elif文の使い方
複数の条件をプログラムで書きたいとき、Pythonではelif文を使用します。
Pythonにswitch文はありません。
変数ramenに900という値を入れてあります。
ラーメンが800円以下の場合は、昼食をラーメン、
ラーメンが800円より高い場合は、牛丼を選択するプログラムを書きます。
ramen = 900
if ramen <= 800:
print('お昼はラーメンにしよう!')
elif ramen > 800:
print('お昼は牛丼にしよう。')
elif文は何個でも追加することができます。
elseの使い方
財布の中のお金によって昼食を選択するプログラムを書きます。
現金が1000円以上ある場合は、ラーメンを選択します。
現金が1000円未満500円以上の場合は、牛丼を選択します。
現金が500円未満100円以上の場合は、パンを選択します。
現金が100円未満の場合は、水を飲みます。
変数genkinに10という値を代入しました。
genkin = 10
if genkin >= 1000:
print('お昼はラーメンにしよう!')
elif genkin >= 500:
print('お昼は牛丼にしよう。')
elif genkin >=100:
print('お昼はパンにしよう。')
else:
print('水を飲もう。')
結果は、水を飲もう。 になります。
変数の値をいろいろな数字に替えて、結果が変わることを試しましょう。
まとめ
条件式でプログラムを分岐させるif文と複数の条件分岐をさせるelif文、elseについて書きました。