如何使用 Python 檢查一個數是奇數還是偶數?


在本文中,我們將向您展示如何在 python 中檢查一個數是奇數還是偶數。以下是完成此任務的方法:

  • 使用模運算子 (%)
  • 使用遞迴
  • 使用二進位制與 (&) 運算子

使用模運算子 (%)

Python 的模運算子 (%)(也稱為餘數運算子)可用於確定一個數是奇數還是偶數。我們獲取一個數除以 2 的餘數。如果餘數為 0,則該數為偶數,否則為奇數。

偶數 - 可以被 2 整除的數,沒有餘數(餘數=0)。

奇數 - 奇數是指不能被 2 整除的數,因此餘數為 1。

演算法(步驟)

以下是執行所需任務的演算法/步驟:

  • 建立一個變數來儲存輸入的數字。

  • 使用 if 條件語句檢查輸入數字模 2 是否等於 0,使用模運算子 (%)(返回餘數)。

  • 如果條件為真,即餘數為 0,則列印偶數。

  • 否則,如果條件為假,即餘數不為 0,則列印奇數。

示例

以下程式使用模運算子 (%) 返回輸入數字是偶數還是奇數:

# input number inputNumber = 10 # checking whether the number modulus 2 is equal to 0 if inputNumber%2==0: # printing even if the remainder is 0 print(inputNumber, "is an even number") else: # else printing odd print(inputNumber, "is an odd number")

輸出

執行上述程式後,將生成以下輸出:

10 is an even number

使用遞迴

演算法(步驟)

以下是執行所需任務的演算法/步驟:

  • 建立一個函式 checkEvenOdd 來檢查傳遞給它的引數是否為偶數或奇數。

  • 使用 if 條件語句檢查數字是否為 0,如果為 0,則給定數字為偶數,因此返回 True。

  • 使用另一個 if 條件語句檢查數字是否為 1,如果為 1,則給定數字為奇數,因此返回 False。

  • 透過從給定數字中減去 2 來再次遞迴呼叫該函式。

  • 將輸入數字作為引數傳遞給 checkEvenOdd() 並呼叫該函式。使用 if 條件語句檢查該函式返回 True 還是 False。

  • 如果函式返回 True,則列印偶數。

  • 否則,如果函式返回 False,則列印奇數

示例

以下程式使用遞迴函式返回輸入數字是偶數還是奇數:

# creating a function that accepts a number as an argument and # checks whether it is an odd or even number def checkEvenOdd(num): # checking whether the number is 0 if(num==0): # returning True, if the number is even return True # checking whether the number is 1 elif(num==1): # returning False, if the number is odd return False else: # Calling the function again recursively by subtracting 2 from the given number return checkEvenOdd(num-2) # input number inputNumber= 7 # passing inuput number as an argument to the checkEvenOdd() and calling it if(checkEvenOdd(inputNumber)): # printing even if the function returns true print(inputNumber, "is an even number") else: # else printing odd if the function returns false print(inputNumber, "is an odd number")

輸出

執行上述程式後,將生成以下輸出:

7 is an odd number

使用二進位制與 (&) 運算子

思路是檢查數字的最後一位是否為 1。如果最後一位為 1,則該數為奇數,否則為偶數。

如您所見,透過 1 對數字進行按位與 (&) 操作,如果數字為奇數,則會得到 1,因為最後一位已設定為 1。否則,將返回 0 作為輸出。

演算法(步驟)

以下是執行所需任務的演算法/步驟:

  • 使用 if 條件語句檢查傳遞的數字與 1 之間的二進位制與 (&) 操作是否等於 0,使用 & 運算子。

  • 如果條件為真,則該數為偶數並返回 True。

  • 否則,給定數字為奇數,因此返回 False。

  • 建立一個變數來儲存輸入的數字。

  • 將輸入數字作為引數傳遞給 checkEvenOdd() 並呼叫該函式。使用 if 條件語句檢查該函式返回 True 還是 False。

  • 如果函式返回 True,則列印偶數。

  • 否則,如果函式返回 False,則列印奇數。

示例

以下程式使用二進位制與 (&) 運算子返回輸入數字是偶數還是奇數:

# creating a function that accepts a number as an argument and # checks whether it is an odd or even number def checkEvenOdd(num): # checking whether num&1 == 0 if num & 1 == 0: # Then the number is even so return True return True # Else the number is odd # Then the number is odd so return False return False # input number inputNumber= 12 # passing input number as an argument to the checkEvenOdd() and calling it if(checkEvenOdd(inputNumber)): # printing even if the function returns true print(inputNumber, "is an even number") # else printing odd if the function returns false print(inputNumber, "is an odd number")

輸出

執行上述程式後,將生成以下輸出:

12 is an even number
12 is an odd number

結論

在本文中,我們學習瞭如何使用三種不同的方法來確定給定數字是偶數還是奇數。我們學習瞭如何使用按位運算子檢查給定數字的最後一位。我們學習瞭如何遞迴呼叫函式。

更新於: 2022年10月27日

4K+ 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.