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