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