📅  最后修改于: 2023-12-03 14:42:11.138000             🧑  作者: Mango
在 Python 中,可以使用 lambda 函数方便地判断一个数是否为素数。
素数,又称质数,在数学上指的是在大于 1 的自然数中,除了 1 和本身,不能被其他自然数整除的数。
例如,2、3、5、7、11 都是素数。
判断一个数是否为素数的方法有很多,这里介绍一种比较简单的方法。
对于一个自然数 n,我们只需要从 2 到 $\sqrt{n}$ 的范围内,依次判断是否存在能够整除 n 的数。
如果存在,则 n 不是素数;否则,n 是素数。
下面的代码演示了如何使用 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
代码说明:
is_prime
,该函数接受一个参数 n。lambda 函数在 Python 中非常灵活,可以用于许多常见的运算,如本文介绍的判断素数。虽然单行函数看起来有些复杂,但是一旦掌握了其语法和用法,便能大幅提高代码的可读性和代码效率。