📜  isprime lambda python (1)

📅  最后修改于: 2023-12-03 14:42:11.138000             🧑  作者: Mango

判断素数 lambda 函数

在 Python 中,可以使用 lambda 函数方便地判断一个数是否为素数。

什么是素数?

素数,又称质数,在数学上指的是在大于 1 的自然数中,除了 1 和本身,不能被其他自然数整除的数。

例如,2、3、5、7、11 都是素数。

如何判断素数?

判断一个数是否为素数的方法有很多,这里介绍一种比较简单的方法。

对于一个自然数 n,我们只需要从 2 到 $\sqrt{n}$ 的范围内,依次判断是否存在能够整除 n 的数。

如果存在,则 n 不是素数;否则,n 是素数。

使用 lambda 函数判断素数

下面的代码演示了如何使用 lambda 函数判断一个数是否为素数。

is_prime = lambda n: n > 1 and all(n % i != 0 for i in range(2, int(n ** 0.5) + 1))

# 测试
print(is_prime(5))  # True
print(is_prime(8))  # False

代码说明:

  1. 定义了一个 lambda 函数 is_prime ,该函数接受一个参数 n。
  2. 在 lambda 函数体中,使用了 Python 的 all() 函数和生成器表达式,判断从 2 到 $\sqrt{n}$ 的范围内,是否存在能够整除 n 的数。
  3. 如果所有元素都为真,则该数为素数,返回 True;否则,返回 False。
总结

lambda 函数在 Python 中非常灵活,可以用于许多常见的运算,如本文介绍的判断素数。虽然单行函数看起来有些复杂,但是一旦掌握了其语法和用法,便能大幅提高代码的可读性和代码效率。