当我们需要判断一个数是否为素数时,可以定义一个函数来解决问题。下面是Python定义函数判断素数的完整攻略:
步骤1:定义函数
首先我们要定义一个函数,函数名为is_prime()
,用于判断输入的整数是否为素数。函数的参数为n
,代表需要判断的整数。
def is_prime(n):
# 在此处编写函数体
步骤2:判断是否为负数或小于2的整数
一个质数是指只能被1和它本身整除的正整数,所以当输入的整数小于2时,直接返回False。
def is_prime(n):
# 判断是否为负数或小于2的整数
if n < 2:
return False
步骤3:判断是否为偶数
2是最小的质数,并且除了2之外,所有的偶数都不可能是质数。因此,如果输入的整数为偶数,则直接返回False。
def is_prime(n):
# 判断是否为负数或小于2的整数
if n < 2:
return False
# 判断是否为偶数
if n % 2 == 0:
return False
步骤4:判断是否为素数
判断输入的整数是否为素数时,只需要判断它是否能被2到(n-1)的正整数整除即可,其中的(n-1)表示的是次数,也可以写成(n//2)。如果能除尽,则表示不是素数,直接返回False;如果不能除尽,则继续循环,直至判断完毕,最后返回True。
def is_prime(n):
# 判断是否为负数或小于2的整数
if n < 2:
return False
# 判断是否为偶数
if n % 2 == 0:
return False
# 判断是否为素数
for i in range(3, int(n**0.5)+1, 2):
if n % i == 0:
return False
return True
步骤5:完整代码
将以上4个步骤整合起来,形成完整代码:
def is_prime(n):
# 判断是否为负数或小于2的整数
if n < 2:
return False
# 判断是否为偶数
if n % 2 == 0:
return False
# 判断是否为素数
for i in range(3, int(n**0.5)+1, 2):
if n % i == 0:
return False
return True
步骤6:测试函数
最后,我们来测试一下这个函数。比如,我们需要判断27是否为素数,只需要调用一下is_prime()
函数并传入27作为参数,即可输出判断结果。代码如下:
print(is_prime(27)) # False
再比如,我们需要判断37是否为素数:
print(is_prime(37)) # True
这样,我们就可以通过定义is_prime()
函数来简单方便地判断一个数是否为素数了。