A(100円),B(200円),C(300円),3つの商品を売るお店を経営しているとしましょう。
- A,B,C合計で20個以上買った場合、10%OFF
- A,B,C合計で20個以上買ったかつ、Aを15個以上買った場合は、更に10%OFF
というキャンペーンをしました。
お客様が商品を持ってくるたびに、手作業で計算していたら、非効率ですし、計算ミスをして思わぬ損失を出してしまうかもしれません。
そんなときに、役立つのがプログラミングです。
プログラミングのif文(条件分岐)を利用することで、「○○のときは、××」という問題を簡単に解決することが出来ます。
比較演算子
if文(条件分岐)を使うために、必要な比較演算子。
中学生の頃に習った不等号のようなものです。if文の前に、まずは、比較演算子を解説します。
プログラミングでは、2つのものを比較演算子で比較して、
- 条件通りだった場合、True
- 条件に反した場合、False
を返します。
1 2 3 4 5 6 7 8 9 10 11 |
10 > 1 # Trueを返す 1 > 10 # Falseを返す 10 == 10 # Trueを返す 10 == 11 # Falseを返す |
このような形で、比較演算子の左と右を比較して、True,Falseのどちらかを返します。
比較演算子には、左のほうが大きい場合Trueを返す「>」や、左と右が等しい場合にTrueを返す「==」などがあります。以下が、よく使われる演算子の一覧です。
演算子 | 解説 |
---|---|
X > Y | XがYより大きい |
X < Y | XがYより小さい |
X >= Y | XはY以上 |
X <= Y | XはY以下 |
X == Y | XはYと同じ |
X != Y | XはYと異なる |
条件分岐(if文)

上で説明した比較演算子を踏まえて、条件分岐(if文)を解説します。
if文は非常にシンプルで、
1 2 3 4 5 6 |
#if文 if(条件): # 条件がTrueのときの処理 else: # 条件がFalseのときの処理 |
というように、条件がTrueを返せば、ifの中を、Falseを返せば、elseの中の処理を実行します。
例えば、XとYを比べるif文の場合
1 2 3 4 5 |
#xとyを比較する if(x > y): print("xのほうが大きいです。") else: print("yのほうが大きいです。") |
となります。
※elseを省略すると、条件に合わなかった場合は、何もおこりません。
and(かつ)とor(または)の利用
もし、「Xが10より大きい かつ 20より小さい場合」を判定したい場合は2つ方法があります。
ifを入れ子で使う
1つ目は、ifを入れ子(ネスト)で使う方法です。
1 2 3 4 5 |
# Xが10より大きいかつ20より小さい if(X > 10): if(X < 20): print("Xは10より大きく、20より小さいです。") |
このようにif文の中にif文を記述することで、条件を複雑にしていくことが出来ます。
and(かつ)を使う
2つ目は、「and」を使う方法です。
1 2 3 4 |
# Xが10より大きいかつ20より小さい if((X > 10) and (X < 20)): print("Xは10より大きく、20より小さいです。") |
このように、andで条件文を繋いでいくことで、複数の条件を判定することが出来ます。
elifの使い方
Xが10より小さい または Xが20より大きいときに、「OK」と表示したい場合(違う場合は「NOと表示」)、どうすればいいでしょう?
1 2 3 4 5 6 |
# 10より小さい または 20より大きい if((X < 10) or (X > 20)): print("OK") else: print("NO") |
というように、「or」を使用してもいいです。
orを使う以外にも「elif」という方法があります。この方法を使うと、
1 2 3 4 5 6 7 8 |
# 10より小さいまたは20より大きい if(X < 10): # ・・・① print("OK") elif(X > 20): # ・・・② print("OK") else: # ・・・③ print("NO") |
こういう書き方が出来ます。
上部のif文でFalseになってしまったものを再度条件式にかけて、Trueを返した場合にelif内の処理を行います。
この例で言うと、
- if(X < 10)の条件を判定。Trueの場合、if内の処理
- 1に合致しなかった場合、elif(X > 20)の条件を判定。
Trueの場合、elif内の処理 - 1,2の条件に合致しなかった場合、else内の処理
という流れです。
条件分岐は避けては通れない道
条件分岐(if)はプログラミングをする上で、絶対に避けては通れない道です。
そして、if文はプロダクトを作っているときに頻出する構文です。if文をきれいに簡潔に書けるようになると、プログラムの実行速度は上がり、プログラムのメンテナンス性が向上します。
基本を疎かにせず、しっかりと条件分岐(if文)をMasterしましょう!