如何用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,因為最後一位已設定。否則,將返回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.