python实现判断是否为素数的函数

  • Post category:Python

下面是Python实现判断是否为素数的完整攻略:

什么是素数?

素数指的是只能被1和自身整除的自然数,如2、3、5、7、11、13、17等都是素数,而4、6、8、9、10等自然数则不是素数。

实现判断是否为素数的函数

Python实现判断是否为素数的函数可以采用“试除法”,即从2到该数的平方根之间,依次判断是否能被整除,若能被整除则不是素数,反之则是素数。

代码如下:

import math

def is_prime_num(n):
    if n < 2:
        return False
    elif n == 2:
        return True
    else:
        for i in range(2, int(math.sqrt(n))+1):
            if n % i == 0:
                return False
        return True

上述代码中,使用了Python标准库中的math模块,其中sqrt()函数可以求出一个数的平方根。为了提高效率,在判断是否能被整除时,可以只判断从2到该数的平方根之间的数,故使用了range()函数来控制循环范围。

测试程序

为了更好地验证函数是否正确,我们可以编写一个测试程序来进行测试。测试程序如下:

print(is_prime_num(2))    # True
print(is_prime_num(3))    # True
print(is_prime_num(4))    # False
print(is_prime_num(5))    # True
print(is_prime_num(6))    # False
print(is_prime_num(7))    # True
print(is_prime_num(8))    # False
print(is_prime_num(9))    # False
print(is_prime_num(10))   # False
print(is_prime_num(11))   # True

输出结果为:

True
True
False
True
False
True
False
False
False
True

小结

通过上述实现方式,我们可以快速轻松地判断一个数是否为素数,使用了math模块中的sqrt()函数和range()函数,使得代码清晰易懂、高效实用。