要用代码判断一个正整数是不是质数,首先要了解质数的定义:
大于1,且除了1和它本身以外没有其他因数的整数。
由此,我们编写函数如下:
"""
example058 - 写一个判断一个正整数是不是质数的函数
Author: 不在同一频道上的呆子
Date: 2024/6/16
"""
# 质数(素数)定义:大于1的整数,除了1和它本身以外没有其他因数的整数
def is_prime(number):
""" 判断一个正整数是不是质数
:param number : 正整数
:return : 如果是质数返回True,否则返回False
"""
if number <= 1:
return False # 小于等于1的数不是质数
if number == 2:
return True # 2是质数
if number % 2 == 0:
return False # 偶数不是质数
# 从3开始到number的平方根,以2为步长进行迭代
for i in range(3, int(number**0.5) + 1, 2):
if number % i == 0:
return False # 如果能整除,则不是质数
return True # 其他情况为质数
# 测试函数
num = 17
if is_prime(num):
print(f"{num} 是质数")
else:
print(f"{num} 不是质数")