Python实现判断素数的函数,可以采用试除法进行求解。具体步骤如下:
-
接受一个大于1的整数n作为输入参数,判断n是否为素数
-
判断n是否能够被2整除,如果n能够被2整除并且n不等于2,则n不是素数,直接返回False,否则继续进行下面的操作
if n % 2 == 0 and n != 2:
return False
- 循环从3到n开平方根的整数,判断n是否能够被这些数整除。由于一个数不可能被大于它开平方根的整数整除,所以只需要循环到小于等于 sqrt(n) 的整数值。
from math import sqrt
for i in range(3, int(sqrt(n)) + 1, 2):
if n % i == 0:
return False
- 如果n不能被2整除,并且在3到 sqrt(n) 的范围内没有整数能够整除n,则n是素数,返回True。
return True
下面是一个完整的代码实例:
from math import sqrt
def is_prime(n: int) -> bool:
if n < 2:
return False
elif n == 2:
return True
elif n % 2 == 0:
return False
else:
for i in range(3, int(sqrt(n)) + 1, 2):
if n % i == 0:
return False
return True
另一个示例:
def is_prime(n: int) -> bool:
return n > 1 and all(n % i for i in range(2, int(n**0.5) + 1))
该示例使用了Python的all()函数来检查从2到 sqrt(n) 的整数能否整除n,并返回True或False。它使用了Python的语言特性与数学运算符实现了更为简单的素数判断函数。