比較演算子
AとBが等しい、AがBより大きいなどの比較を行う場合は、比較演算子を使います。比較演算子にはいくつか種類があるので、一つづつ確認してみましょう。
比較演算子の種類
比較演算子は6つの種類があります。
それぞれの比較演算子を以下の表にまとめました。これらの演算子を使ってコードを作成してみます。
比較演算子 | 説明 |
A==B | AとBが等しいときTrue |
A!=B | AとBが等しくないときTrue |
A>B | AがBより大きいときTrue |
A<B | AがBより小さいときTrue |
A>=B | AがB以上のときTrue |
A<=B | AがB以下のときTrue |
値が等しいときTure、等しくなければFalse
AとBが等しいときはTrue、等しくなければFalseになるコードをです。演算子は「==」を利用します。
A = 10; B = 10
print(A == B)
Aが10、Bが10で値が等しいので、このコードを実行すると「True」と表示されます。
値が等しくないときTure、等しければFalse
今度は、逆に比較した値が等しくないときにTrueになる演算子です。演算子は「!=」を利用します。
A = 10; B = 20
print(A != B)
Aが10、Bが20で値が等しくないので、このコードを実行すると「True」と表示されます。
AがBより大きいときTure
続いて、大きさの大小を比較する演算子です。演算子は「>」を利用します。
A = 10; B = 5
print(A > B)
Aが10、Bが5でAの値がBより大きいので、このコードを実行すると「True」と表示されます。
逆に、AがBより小さいときTrueにする場合は、演算子に「<」を利用します。
A = 10; B = 5
print(A < B)
このコードを実行すると「True」と表示されます。
AがB以上の時True
こちらも大きさを比較する演算子ですが、AがB以上の場合に「True」となります。つまり、「A=B」AとBの値が等しいときも「True」となります。比較演算子は「>=」を利用します。
A = 10; B = 5; C = 10
print(A >= B)
print(A >= C)
このコードを実行すると、どちらも「True」となります。
理論演算子
理論演算子の種類
理論演算子の種類は以下の3つです。
理論演算子 | 名称 | 説明 |
A and B | 理論積 | AとB両方がTrueならTrue、一方がFalseならFalse。 |
A or B | 理論和 | AとBどちらかがTrueならTrue、両方FalseならFalse。 |
not A | 否定 | AがTrueならFalse。AがFalseならTrue。 |
それぞれの理論演算子を使ってコードを書いてみましょう。
理論積:and
変数A、B、CにそれぞれTrue,Falseを代入して、両方ともTrueになる場合は、Trueを返すコードを作成しました。
A = True; B = False; C = True
print(A and B)
print(A and C)
print(A and B)は「True」と「False」なので、コードを実行すると「False」となります。
print(A and C)は「True」と「True」なので、コードを実行すると「True」となります。
理論和:or
次に理論和を使ってコードを書いてみましょう。
変数A、B、C、DにそれぞれTrue,Falseを代入して、どちらか片方がTrueになる場合は、Trueを返すコードを作成します。
A = True; B = False; C = True; D = False
print(A or B)
print(A or C)
print(B or D)
このコードを実行すると上から順に「True」「True」「False」となります。
否定:not
続いて、否定を使ってコードを書いてみましょう。
変数A、BにそれぞれTrue,Falseを代入して、notを使ってコードを作成してみます。
A = True; B = False
print(not A)
print(not B)
このコードを実行するとAにはTrueが代入されているので「False」、BにはFalseが代入されているので「True」がそれぞれ表示されます。
比較演算子と理論演算子を組み合わせる
比較演算子と理論演算子を組み合わせることで、複雑な理論式を作ることができます。
次の例では、変数Aの値が10以上且つ、20以下の時にTrueになるコードをandを使って書いてみます。
A = 15
print((A >= 10) and (A <= 20))
このコードを実行すると、変数Aの値が15なので「True」となります。
今度は変数Aに30を代入して、コードを実行してみましょう。
A = 30
print((A >= 10) and (A <= 20))
変数に代入した30は「10以上且つ20以下」の条件に当てはまらないので、「False」となります。
数値と理論式の関係
1と0を理論式で表すと?
数値の1はTrue、数値の0はFalseと同値として扱われます。
変数A、BにそれぞれTrue,Falseを代入し、数値式として計算してみましょう。
A = True; B = False
print(A + A)
print(A + B)
このコードを実行すると、変数AはTureなので数値の「1」、変数BはFalseなので数値の「0」として扱われ、print(A + A)は「2」、print(a + B)は「1」となります。
今度は変数A、Bにそれぞれ「1」「0」を代入して、理論演算子を使ってみましょう。
A = 1; B = 0
print(A and A)
print(A or B)
変数Aには「1」が代入されているので「True」と読み替えることができます。つまり、print(A and A)はprint(True and True)と同じ意味であり、このコードを実行すると「1」が表示されます。
print(A or B)も同様にprint(True or False)と同じ意味であり、このコードを実行すると「1」となります。
1と0以外の値が理論式で使われた場合
では、1と0以外の値が理論式で使われた場合はどうなるでしょう?
この場合は、値の大きさにかかわらず、「or」では左の値、「and」では右の値が表示されます。
print(4 or 8)
print(4 and 8)
このコードを実行するとprint(4 or 8)は左の値「4」、print(4 and 8)は右の値「8」が表示されます。
今回のまとめ
・比較演算子と理論演算子のコードを実行するとTrue,Falseを返す。
・比較演算子は「==」「!=」「>」「<」「>=」「<=」の6種類。
・理論演算子は「and」「or」「not」の3種類。
・理論式に数値を使うと1はTrue、0はFalseとして処理される。
・1と0以外の数値を使うと、値の大きさにかかわらずorは左、andは右の値となる。
コメント