如何使用 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.