比較演算子・論理演算子
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
比較演算子
if文で条件式を書く場合、他言語と同様に、Pythonでも比較演算子を用いることが多いです。
Pythonの比較演算子は、ほとんどの言語と共通で分かりやすいです。
== a == b aがbと等しい
!= a != b aがbと等しくない
< a < b aがbよりも小さい(bは含まない)
> a > b aがbよりも大きい(bは含まない)
<= a <= b aがb以下(bを含む)
>= a >= b aがb以上(bを含む)
論理演算子
また、条件を2つ以上組み合わせて、条件式を組むことができ、この時用いるのが、論理演算子です。
and a > b and c < d a > b かつ c < d のとき真 or a > b or c < d a > b または c < d のとき真 not not a > b a > b でないときに真
for i in range(1, 21): if i % 3 == 0 and i % 2 != 0: print i
上記コードは、1から20までの数字の範囲で・・・
i % 3 == 0 かつ i % 2 != 0 を満たすときに、数字を表示せよという意味です。
つまり、3の倍数、かつ2の倍数でないとき、という条件式であり、実行結果は・・・
3 9 15
となります。
if not i % 2 == 0 and i % 3 == 0:
上の条件式の場合、not(否定)は、どの部分にかかるでしょうか。
Pythonの場合、notは文全体でなく、i % 2 == 0の部分のみにかかります。
よって、一つ上の例で使った「if i % 3 == 0 and i % 2 != 0:」と同じ条件式を表すことになります。
否定などで、条件式に影響を及ぼす範囲が分かりにくい場合は、括弧( )で囲んでやったほうが分かりやすいです。
条件式の文全体を否定するのなら、「if not (i % 2 == 0 and i % 3 == 0):」。
一部分を否定するのなら、「if (not i % 2 == 0) and i % 3 == 0:」。
といった感じで。
比較演算子の連結
Pythonでは、比較演算子の条件式で、便利で面白い書き方をできます。
for i in range(20): if 5 < i <= 12: print i
この書き方で、5より大きく12以下のときに、数字を表示せよ、という意味になります。
とても数学的な書き方ですね。
実行結果。
6 7 8 9 10 11 12
- - 関連記事 -
- 三項式
- inによる条件式
- if~elif~elseの条件分岐
- whileループ
- forループ