Python で数値が偶数か奇数かを確認する
このチュートリアルでは、Python で数値が偶数か奇数かを確認する方法について説明します。
Python の%
演算子を使用して、数値が偶数か奇数かを確認する
定義上、2 で完全に割り切れる整数は偶数と呼ばれます。つまり、2 で割った後、余りが 0 になったとしても、整数になります。数学では、偶数以外のすべての整数は奇数です。別の定義によれば、偶数は 2つに均等に分割できるため、偶数と呼ばれます。たとえば、10 は 5 の 2つの半分に均等に分割できるため、10 は偶数です。逆に、11 は奇数であるため、11 を 2つの完全に等しい数に分割することはできません。
Python では、剰余演算子%
が最初の数値を 2 番目の数値で除算し、余りを除算します。除算後の余りが 0 に等しいかどうかをチェックすることにより、数値が奇数か偶数かを判断する方法があります。次のコードスニペットは、剰余演算子%
を使用して数値が偶数か奇数かを確認する方法を示しています。
def check(num):
if num % 2 == 0:
print("even")
else:
print("odd")
check(22)
出力:
even
%
演算子を使用して、num
が 2 で完全に割り切れるかどうかをチェックする check(num)
を定義しました。余りが 0 に等しい場合、数は偶数です。余りが 0 でない場合、数値は奇数です。
Python の&
演算子を使用して、数値が偶数か奇数かを確認する
数値が偶数か奇数かを判断するもう 1つの賢い方法は、ビットごとの AND 演算子&
を使用することです。ご存知のとおり、コンピューター内のすべてのものは 1 と 0 の形式、つまりバイナリ言語で保存されます。ビット単位の AND 演算子&
は、値をバイナリに変換してから、バイナリ式の各ビットに対して AND 演算を実行します。
たとえば、10 進数 11 の 2 進数値は(1011)であり、10 進数 1 は(0001)です。これらの 2つの 10 進数に対してビット単位の演算を実行すると、&
演算子は両方の数値の各ビットを取得し、それらに対して AND 演算子を実行して、結果をビットごとに返します。上記の場合、戻り値は(0001)になり、10 進数で 1 になります。
この現象に関するもう 1つの興味深い事実は、偶数と 1 のビット単位の AND 演算を実行すると、結果は常に 0 になることです。それ以外の場合、奇数と 1 のビット単位の AND 演算を実行すると、結果は常に次のようになります。1.1。
以下のサンプルコードは、ビット単位の AND 演算子&
を使用して、数値が奇数か偶数かを確認する方法を示しています。
def check(num):
if num & 1 == 0:
print("even")
else:
print("odd")
check(33)
出力:
odd
num
と 1 のビット単位の AND 演算が 0 に等しいかどうかをチェックする check(num)
を定義しました。結果が 0 に等しい場合、数値は偶数です。結果が 0 でない場合、数値は奇数です。
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn