論理和
プログラミングは、数学、論理、その他多くの領域が混合されたものです。教科書からリアルタイムまで、数学のあらゆる問題を解くには、加算、減算、乗算、除算の演算子が必要です。これらは数学で必要な基本的な演算子です。同様に、変数または値に対して何らかの演算を実行するために、Python には 7 種類の演算子があり、それぞれが便利です。このうち、 ' または' Pythonの演算子の一つで、論理演算子に属します。
現地の日付
論理演算子は主に次のものを扱います。 意思決定のニーズ 。論理演算子の下には 3 つの演算子があります。
この記事では、明確に理解できるように例を示して OR 演算子について説明します。
基本:
C や Java などの言語では、「||」は OR 演算子を表しますが、Python では ' または ' 特別な記号を使用せずに。
構文: a または b
戻り値: この演算子は、オペランドに応じて「True」または「False」を返します。
- 演算子のどちらかの側のオペランド/式が両方とも false の場合、戻り値が返されます。 間違い 。
- 少なくとも 1 つのオペランドが true の場合、または両方のオペランドが true の場合、戻り値が返されます。 真実 。
「OR」演算子の真実の物語:
式1 | 式2 | (式 1 と式 2) は次を返します。 |
---|---|---|
真実 | 真実 | 真実 |
真実 | 間違い | 真実 |
間違い | 真実 | 真実 |
間違い | 間違い | 間違い |
OR 演算子の必要性:
数値が必要だとします。正の場合は 20 より大きくなければなりません。負の場合は、-20 未満にする必要があります。これらの条件を満たすために、条件ステートメントを使用してコードを作成すると、次のようになります。
num = int (input ('Enter a number: ')) if (num 20): print ('True') else: print ('False')
出力:
理解:
上記のコードでは、
- まず、数値が負で -20 未満であるかどうかを確認します。 true の場合、1 つの条件が true であるため、次の条件をチェックする必要がないため、「True」を出力します。
- true でない場合、elif ブロックが実行され、数値が正で 20 より大きいかどうかがチェックされます。この条件が true の場合、「True」が出力されます。
- if と elif の両方が false の場合、else ブロックが実行されて「False」が出力されます。
- 「OR」演算子のみを使用して上記のコードを記述します。
両方の条件を 1 行で一度に確認できます。
num = int (input ('Enter a number: ')) if (num 20): print ('True') else: print ('False')
出力:
- 「or」を使用すると、コードがシンプルで読みやすくなり、コードの長さが短くなります。
リアルタイム アプリケーションを使用した別の例を見てみましょう。
B-Tech と M-Tech の学生を対象としたコーディング コンテストを企画しているとします。学生が参加するには、B-Tech または M-Tech の学生である必要があります。 b.tech または m.tech の学生ではない人はコンテストに参加することはできません。したがって、少なくとも 1 つの条件が当てはまるかどうかを確認する必要があります。
コード:
name = input ('Please enter the participant's name: ') course = input ('Please enter the course the participant's studying Please enter the name of the course in capital letters without spaces or other characters in between like BTECH and MTECH: ') if (course == 'BTECH' or course == 'MTECH'): print ('Congratulations!, You are eligible for the competition') else: print ('Only students in B-Tech and M-Tech are allowed to the competition. Sorry! We can't enroll you in')
出力:
'or' には 2 つの数字だけを使用します。
「or」演算子の両側に 2 つの 10 進整数を指定するとどうなるかを見てみましょう。
前提条件: 一般に、「or」は少なくとも 1 つのオペランドが True かどうかをチェックします。 0 より大きい数値は True を表し、0 は False を表します。
米国の州
num1 = int (input ('Enter a number: ')) num2 = int (input ('Enter another number: ')) print (num1 or num2)
出力例:
理解:
- 最初のケースでは:
- どちらの数値も 0 より大きい - True または True 条件 。したがって、「or」は True を返します。
- 「or」の条件は、少なくとも 1 つのオペランドが True でなければならないということです。したがって、最初の数値 4 (>0) が true であることを確認した後、2 番目の数値をチェックせずに、 最初の数字は「True」です。
- 2 番目の場合:
- 最初の数字は 0 ~ False です。 「or」は 2 番目の数値 (1 (>0)) をチェックします - False または True 条件 。戻り値
- 3 番目のケースでは、次のようになります。
- 最初の数字は 0 ~ False です。 「or」は 2 番目の数値をチェックします。これも 0 です - 嘘か嘘か 。戻り値 間違い 。
- 「or」演算子はオペランドを検索して「True」を見つけます。 「True」が見つかると、残りのオペランドをチェックせずにすぐに True を返します。この状態を「」といいます。 短絡 ' または 「評価が甘い」。
複数のオペランドを含む「or」:
num1 = int (input ('Enter the first value: ')) num2 = int (input ('Enter the second value: ')) num3 = int (input ('Enter the third value: ')) print (num1 or num2 or num3)
出力例:
理解:
オペランドが 2 つあるのと同じです。 「or」は「True」をチェックし、見つかった場合は「True」を返し、少なくとも 1 つの True が見つからない場合は「False」を返します。
ビット単位の OR (|):
Python には別の「or」演算子があります。ビット単位の演算子です。 '|' で表します。両方とも「or」演算子と呼ばれます。ここで、2 つの演算子の違いを見てみましょう。
バイナリ言語はコンピュータの言語です。すべての内部メカニズムはビットに関して発生します。ビット演算子は、プログラマが整数に対してビット演算を実行できるようにする演算子のセットです。ビット演算子は 6 つあります。
- ビットごとの AND
- ビットごとの OR
- ビットごとの NOT
- ビットごとの XOR
- ビット単位の右シフト
- ビット単位の左シフト
(論理的 or、ビットごとの or)、(論理的 and、ビットごとの and)、(論理的否定、ビットごとの否定) の違いは、それらの名前にあります。
- ビット演算子を使用する場合、まず、 整数はバイナリビットに変換されます , その後、オペレーターが操作を実行します 少しずつ 。
- ここ、 1 は True を表し、0 は False を表します 。
- 演算後、2 進数は 10 進数に変換され、出力として返されます。
ビット単位の論理和の演算:
指定された整数はビット (バイナリ) に変換され、演算子は 2 つの数値の対応するすべてのビットに対して演算を行います。
ビット 1 (オペランド 1) | ビット 2 (オペランド 2) | 戻り値 |
---|---|---|
0 | 0 | 0 |
1 | 0 | 1 |
1 | 1 | 1 |
0 | 1 | 1 |
例を挙げてみましょう:
num1 = 3 および num2 = 4 の場合:
3 -> 011
4 -> 100
実行中 |:
3 と 4 に対して論理和を実行すると、True が得られ、3 が返されます。
num1= int (input ('Enter a number: ')) num2 = int (input ('Enter another number: ')) print (num1 or num2) print (num1 | num2)
出力:
これらは、Python 言語で使用できる 2 つの「or」演算子です。
論理 OR とビットごとの OR:
論理和 | ビットごとのまたは |
論理和は「or」で表されます。 | ビット単位の or は「|」で表されます。 |
これはブール値に対してのみ定義されます。式を使用した場合でも、それらは True または False として評価されます。 | 整数値とブール値に対して定義されています。 印刷 (True | False) -> True |
True 値を検索し、見つかった場合は式の残りの部分を評価せず、「True」を返します。この現象は「」と呼ばれています 遅延評価 '。 | 演算子が True 値を見つけた場合でも、残りの式の評価を続けます。 |
この演算子は主に意思決定と真実性のテストに使用されます。 | ビット演算子は、下位レベルのビット操作用に設計されています。 |
0 より大きいすべての数値は「True」と評価され、すべての数値 == 0 または<0 is evaluated as 'false'< td> | 1 は「True」を表し、0 は「False」を表します。 | 0>
演算子の階層では、ビット演算子は論理演算子よりも優先されます。 |