この記事のポイント
比較演算子の使い方がわかります。
はじめに
前回はif文を使って条件分岐を学びました。プログラミング3大要素の一つを扱えるようになったのであなたのプログラミングレベルも大きく向上したはずです。
ただし、前回は「一致」という条件だけでの条件分岐だけでした。
分岐させるための条件には他にもいろいろなものを使うことができます。
それらのうち今回は「比較演算子」を使った条件分岐を説明します。

ちなみに「一致」も比較演算子の一つです。
前回の記事
前回の記事では、条件分岐の基礎を説明しました。


1番簡単にPythonを始めることができる「PyWeb」は以下から始めることができます。1分であなたもプログラマーです。


比較演算子の一覧
まずは比較演算子の一覧を紹介します。下表の内容を見て学校の数学で聞いたことがあるのを思い出した方もいるのではないでしょうか?
比較演算子 | 条件 |
---|---|
a > b | aはbより大きい(大なり) |
a >= b | aはb以上である |
a < b | aはbより小さい(小なり) |
a <= b | aはb以下である |
a == b | aとbは等しい |
a != b | aとbは等しくない |



文字列には他にもin演算子などもありますが、また別のタイミングで紹介します。
比較演算子の機能
比較演算子は演算結果に応じて「True」、「False」を返します。
ここで試してみたいのは「a > b」をした場合に、何が起こるのかということです。
比較演算子が成り立っていると「True」と出力されましたね。日本語だと「正しい」。
比較演算子の本当の機能は、式が成り立っていると「True」を返す演算子なのです。
逆に、式が成り立っていない場合には、「False」を返す演算子なのです。
さきほどのプログラムで「b = 20」にして実行してみましょう。「False」が出力されると思います。日本語だと「間違い」ですね。
if文の本当の機能
if文は、条件が「True」のときに、それ以下に書かれた処理を実行するという機能です。
前回説明した以下の文で考えます。
「もし天気が雨ならば、傘を持っていく」
天気が雨に一致して、「True」が出力されるわけです。そしてif文は条件が「True」であることを確認して、傘を持っていくことを実行します。実例プログラムは以下のようになります。
変数cに「weatherToday == weatherCondition」の結果を入れて、print()で出力してみると「True」とでていますね。
これを試しにweatherTodayを”晴れ”にしてみましょう。出力は「False」になるはずです。
比較演算子を使った例
a < b aはbより小さい
まずは基本の「小なり」です。
例えば、「タマゴの価格が100円より安ければ買う」というプログラムを作ってみましょう。
priceEgg = 80なので、price = 100 より小さいと判断され「True」となり、その後の処理である「タマゴを買う」が実行されていますね。
これを例えば、昨今のインフレによりタマゴの価格が200円になったとしましょう。priceEgg = 200ですね。すると、残念なことに「もやしを買う」になってしまいます。



我が家の現状を見ているようで辛い。
a != b aはbではない
意外とよく使うのが「不一致」です。
例えば、「天気が雨でないならば、傘を置いていく」というプログラムを作ってみましょう。
今回はここまでです。お疲れ様です!
【派生学習】Boolean型
比較演算子では、「True(真)」か「False(偽)」が出力されることを説明しました。
この「True」と「False」は、「整数」、「実数」、「文字列」のどれでもない値になります。
「True」と「False」は、「Boolean(ブーリアン)」と呼ばれる値になります。



「True」や「False」といった文字列を出力を返しているわけではないので注意してください。
Booleanの存在意義
パソコンは「0」と「1」という数字しか処理することができません。
なので、「真」を「1」と定義し、「偽」を「0」と定義して使用しているのです。
【マニアック】文字列での比較演算子
今までの紹介で、文字列での比較演算子は「==(一致)」と「!=(不一致)」を使う例のみを紹介してきましたが、実は文字列でも「>」、「<」が使用できます。



ただし、実際に使う場面はほぼないです!気楽に読み流してください。
文字列の大小関係には関しては、以下のようなルールがあります。
- 数字は、文字の0が最小、9が最大
- アルファベットでは、aが最小、zが最大
- 大文字は小文字より小さい
- 数字は、アルファベットよりも小さい
実際の例は以下のようになります。



「大文字」は「小文字」より小さいんかい!と突っ込みたくなりますね。



この大小関係は多分ASCIIコードに由来していると思います。ASCIIコードは文字を数値で表したものになります。「a」は「97」で、「A」は「65」です。
次回
次回は論理演算子を使った条件分岐を紹介します。今回の比較演算子と合わせて使うとさらにプログラミングの幅が広がります。


コメント