Python 如何检查一个数是奇数还是偶数

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 ,则打印even。

  • 否则,如果函数返回 False ,则打印odd。

示例

以下程序使用递归函数返回输入数字是偶数还是奇数:

# 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,因为最后一位已经设置。否则,输出返回0。

步骤

以下是执行所需任务的算法/步骤:

  • 使用if条件语句检查传递的数字与1的二进制与(&)操作是否等于0,使用&运算符。

  • 如果条件为true,则数字为偶数,返回True。

  • 否则,给定数字为奇数,返回False。

  • 创建一个变量来存储输入数字。

  • 将输入数字作为参数传递给 checkEvenOdd() 并调用该函数。使用if条件语句检查函数是否返回True或False。

  • 如果函数返回 True ,则打印even。

  • 否则,如果函数返回 False ,则打印odd。

示例

以下程序通过二进制AND(&)运算符返回输入数字是偶数还是奇数-

# 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

结论

在这篇文章中,我们学习了如何使用三种不同的方法来确定给定的数字是偶数还是奇数。我们学习了如何使用位运算符检查给定数字的最后一位。我们学习了如何递归调用函数。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程