在 Python 中检查数字是偶数还是奇数

Muhammad Maisam Abbas 2023年1月30日
  1. 使用 Python 中的 % 运算符检查数字是偶数还是奇数
  2. 使用 Python 中的 & 运算符检查数字是偶数还是奇数
在 Python 中检查数字是偶数还是奇数

本教程将讨论在 Python 中检查数字是偶数还是奇数的方法。

使用 Python 中的 % 运算符检查数字是偶数还是奇数

根据定义,完全可以被 2 整除的整数称为偶数。换句话说,一个整数是即使在除以 2 后我们得到 0 作为余数。在数学中,除偶数外的所有整数都是奇数。根据另一个定义,偶数被称为偶数,因为我们可以将它们平均分成两半。例如,10 是偶数,因为我们可以将 10 平均分为 5 的两半。相反,11 不能被分成两个相等的整数,因为 11 是奇数。

在 python 中,模运算符%将第一个数字除以第二个数字,然后给出除法的余数。有一种方法可以通过检查除法后的余数是否等于 0 来确定一个数是奇数还是偶数。以下代码片段向我们展示了如何使用模运算符%检查数字是偶数还是奇数。

def check(num):
    if num % 2 == 0:
        print("even")
    else:
        print("odd")


check(22)

输出:

even

我们定义了 check(num) 来检查 num 是否可以在 % 运算符的帮助下被 2 整除。如果余数等于 0,则该数字为偶数。如果余数不为 0,则该数字为奇数。

使用 Python 中的 & 运算符检查数字是偶数还是奇数

另一种确定数字是偶数还是奇数的巧妙方法是使用按位与运算符 &。众所周知,计算机中的一切都是以 1 和 0 的形式存储的,也就是二进制语言。按位 AND 运算符 & 将值转换为二进制,然后对二进制表达式的每一位执行 AND 运算。

例如,十进制数 11 的二进制值为(1011),十进制数 1 的二进制值为(0001)。如果我们对这两个十进制数执行按位和运算,& 运算符会取两个数字中的每一位,对它们执行 AND 运算符,并逐位返回结果。在上述情况下,返回值将是 (0001),它等于十进制 1。

关于这个现象的另一个有趣的事实是,如果我们对偶数和 1 进行按位 AND 运算,结果总是 0。否则,如果我们对奇数和 1 进行按位 AND 运算,结果总是 1。

下面的示例代码显示了我们如何使用按位与运算符 & 来检查数字是奇数还是偶数。

def check(num):
    if num & 1 == 0:
        print("even")
    else:
        print("odd")


check(33)

输出:

odd

我们定义了 check(num) 来检查 num 和 1 的按位 AND 运算是否等于 0。如果结果等于 0,则数字为偶数。如果结果不是 0,则数字为奇数。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

相关文章 - Python Math