如何使用Python检查一个数字是奇数还是偶数?
在本文中,我们将展示如何在Python中检查一个数字是奇数还是偶数。以下是完成此任务的方法。
- 使用模运算符(%)
- 使用递归
- 使用二进制和运算符(&)
阅读更多:Python 教程
使用模运算符(%)
Python的模运算符(也称为余数运算符)有助于确定一个数字是奇数还是偶数。我们通过除以2获得余数。如果余数为0,则为偶数,否则为奇数。
偶数 ——可以被2整除,不留任何余数(余数=0)的数字。
奇数 ——不能被2整除的数字,因此余数为1。
算法(步骤)
以下是执行所需任务的算法/步骤。
- 创建一个变量来存储输入数字。
-
使用if条件语句检查输入数字模2是否等于0,使用模(%)运算符(返回余数)。
-
如果条件为真,即余数为0,则打印偶数。
-
否则,如果条件为假,即余数不为0,则打印奇数。
示例
以下程序使用模(%)运算符返回输入数字是偶数还是奇数。
# 输入数字
inputNumber=10
# 检查数字余数是否等于0
if inputNumber%2==0:
# 如果余数为0,则打印偶数
print(inputNumber, "是偶数")
else:
# 否则打印奇数
print(inputNumber, "是奇数")
输出
执行上述程序将生成以下输出。
10是偶数
使用递归
算法(步骤)
以下是执行所需任务的算法/步骤。
- 创建一个函数checkEvenOdd来检查传递给它作为参数的数字是偶数还是奇数。
-
使用if条件语句检查数字是否为0,如果是0,则给定的数字是偶数,因此返回True。
-
再次使用另一个if条件语句以检查数字是否为1,如果是1,则给定的数字是奇数,因此返回False。
-
通过从给定数字中减去2来递归调用函数。
-
将输入数字作为参数传递给checkEvenOdd(),并调用该函数。使用if条件语句检查函数返回True或False。
-
如果函数返回True,则打印even。
-
否则,如果函数返回False,则打印odd。
示例
以下程序使用递归函数返回输入数字是偶数还是奇数。
# 创建一个函数,接收一个数字作为参数,并
# 检查它是奇数还是偶数
def checkEvenOdd(num):
# 检查数字是否为0
if(num==0):
# 如果数字是偶数,则返回True
return True
# 检查数字是否为1
elif(num==1):
# 如果数字是奇数,则返回False
return False
else:
# 通过从给定的数字减去2,再以递归的方式再次调用该函数
return checkEvenOdd(num-2)
# 输入数字
inputNumber= 7
# 将输入数字作为参数传递给checkEvenOdd()并调用它
if(checkEvenOdd(inputNumber)):
# 如果函数返回true,则打印偶数
print(inputNumber, "是偶数")
else:
# 否则,如果函数返回false,则打印奇数
print(inputNumber, "是奇数")
输出
在执行时,以上程序将生成以下输出 −
7是奇数
使用二进制 AND(&)运算符
这个想法是要检查数字的最后一位是否设置。如果最后一位被设置,则该数字为奇数,否则为偶数。
如您所见,通过对一个数字通过1进行位AND(&)操作,如果数字是奇数,则返回1,因为最后一位已经设置。否则,返回0。
算法(步骤)
执行所需任务的算法/步骤如下所示−
- 使用if条件语句使用&运算符来检查传递的数字和1之间的二进制and(&)是否等于0。
-
如果条件为真,则该数字为偶数并返回True。
-
否则,给定的数字为奇数,因此返回False。
-
创建一个变量来存储输入数字。
-
将输入的数字作为参数传递给checkEvenOdd(),并调用该函数。使用if条件语句检查函数是否返回True或False。
-
如果函数返回True,则打印偶数。
-
否则,如果函数返回False,则打印奇数。
例子
下面的程序使用二进制AND(&)运算符返回输入数字是偶数还是奇数−
# 创建一个函数,接受一个数字作为参数
# 并检查它是奇数还是偶数
def checkEvenOdd(num):
# 检查 num&1 == 0 是否成立
if num & 1 == 0:
# 那么这个数是偶数,因此返回 True
return True
# 否则这个数是奇数
# 那么这个数是奇数,因此返回 False
return False
# 输入数字
inputNumber= 12
# 将输入数字作为参数传递给 checkEvenOdd() 并调用它
if(checkEvenOdd(inputNumber)):
# 如果函数返回 true,则打印偶数
print(inputNumber, "是偶数")
# 否则函数返回 false,则打印奇数
print(inputNumber, "是奇数")
输出
运行上面的程序将生成以下输出 −
12 是偶数
12 是奇数
结论
在本文中,我们学习了如何使用三种不同的方法确定给定数字是偶数还是奇数。我们学习了如何使用位运算符检查给定数字的最后一位。我们学习了如何递归调用函数。
极客教程