python中定义函数判断是否为素数

  • Post category:Python

当我们需要判断一个数是否为素数时,我们需要编写一个函数来实现这个功能。素数是只能被 1 和自身整除的正整数,而不包括能被其他整数整除的数。

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

基本思路

基本思路是从 2 到该数-1 循环遍历每个数,判断该数是否能被整除,如果能整除,则该数不是素数。

定义函数

首先,我们需要定义一个函数来实现判断素数的功能。函数名为 is_prime,输入的参数为 n,表示需要判断的数是否为素数。函数返回值是布尔类型(True或False),用来表示该数是否为素数。

def is_prime(n):
    pass

我们需要在函数内部实现具体的素数判断逻辑。

判断逻辑

is_prime 函数内部,我们需要实现具体的判断逻辑。判断素数的基本思路是从 2 到该数-1 循环遍历每个数,判断该数是否能被整除,如果能整除,则该数不是素数。

我们可以使用 for 循环来实现对 2 到 n-1 的遍历,判断该数是否为素数。如下所示:

def is_prime(n):
    for i in range(2, n):
        if n % i == 0:
            return False
    return True

因为素数只能被 1 和自身整除,因此我们只需要在 for 循环内部判断能否被其他数整除,如果能够被整除,则返回 False,表示该数不是素数;如果不能被其他数整除,则遍历结束后返回 True,表示该数是素数。

测试函数

我们需要编写一个测试函数来验证 is_prime 函数是否正常工作。

def test_is_prime():
    assert is_prime(5) == True
    assert is_prime(10) == False
    assert is_prime(13) == True
    assert is_prime(21) == False
    assert is_prime(31) == True
    print("All test cases passed")

在测试函数中,我们使用 assert 语句来判断函数的返回结果是否符合我们的预期,如果测试通过,则输出 “All test cases passed”。

代码示例

下面是完整的代码示例:

def is_prime(n):
    for i in range(2, n):
        if n % i == 0:
            return False
    return True

def test_is_prime():
    assert is_prime(5) == True
    assert is_prime(10) == False
    assert is_prime(13) == True
    assert is_prime(21) == False
    assert is_prime(31) == True
    print("All test cases passed")

test_is_prime()

运行代码示例,输出 “All test cases passed”,表示我们的函数实现是正确的。

以上就是Python中判断是否为素数的完整攻略。