在 Python 中檢查數字是偶數還是奇數

Muhammad Maisam Abbas 2023年1月30日 2022年5月17日
  1. 使用 Python 中的 % 運算子檢查數字是偶數還是奇數
  2. 使用 Python 中的 & 運算子檢查數字是偶數還是奇數
在 Python 中檢查數字是偶數還是奇數

本教程將討論在 Python 中檢查數字是偶數還是奇數的方法。

使用 Python 中的 % 運算子檢查數字是偶數還是奇數

根據定義,完全可以被 2 整除的整數稱為偶數。換句話說,一個整數是即使在除以 2 後我們得到 0 作為餘數。在數學中,除偶數外的所有整數都是奇數。根據另一個定義,偶數被稱為偶數,因為我們可以將它們平均分成兩半。例如,10 是偶數,因為我們可以將 10 平均分為 5 的兩半。相反,11 不能被分成兩個相等的整數,因為 11 是奇數。

在 python 中,模運算子%將第一個數字除以第二個數字,然後給出除法的餘數。有一種方法可以通過檢查除法後的餘數是否等於 0 來確定一個數是奇數還是偶數。以下程式碼片段向我們展示瞭如何使用模運算子%檢查數字是偶數還是奇數。

def check(num):
    if num % 2 == 0:
        print("even")
    else:
        print("odd")
check(22)

輸出:

even

我們定義了 check(num) 來檢查 num 是否可以在 % 運算子的幫助下被 2 整除。如果餘數等於 0,則該數字為偶數。如果餘數不為 0,則該數字為奇數。

使用 Python 中的 & 運算子檢查數字是偶數還是奇數

另一種確定數字是偶數還是奇數的巧妙方法是使用按位與運算子 &。眾所周知,計算機中的一切都是以 1 和 0 的形式儲存的,也就是二進位制語言。按位 AND 運算子 & 將值轉換為二進位制,然後對二進位制表示式的每一位執行 AND 運算。

例如,十進位制數 11 的二進位制值為(1011),十進位制數 1 的二進位制值為(0001)。如果我們對這兩個十進位制數執行按位和運算,& 運算子會取兩個數字中的每一位,對它們執行 AND 運算子,並逐位返回結果。在上述情況下,返回值將是 (0001),它等於十進位制 1。

關於這個現象的另一個有趣的事實是,如果我們對偶數和 1 進行按位 AND 運算,結果總是 0。否則,如果我們對奇數和 1 進行按位 AND 運算,結果總是 1。

下面的示例程式碼顯示了我們如何使用按位與運算子 & 來檢查數字是奇數還是偶數。

def check(num): 
    if num & 1 == 0:
        print("even")
    else:
        print("odd")
check(33)

輸出:

odd

我們定義了 check(num) 來檢查 num 和 1 的按位 AND 運算是否等於 0。如果結果等於 0,則數字為偶數。如果結果不是 0,則數字為奇數。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

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

相關文章 - Python Math