【练习】素数
项目简介
素数
知识模块
- Python 编程语言
知识点
- 运算符
- 循环语句-for-in
- 分支语句-if
- 函数返回值与参数处理
受众
- 初级测试开发工程师
- 初级Python开发工程师
作业要求
编写一个Python程序,输入一个正整数,判断这个数是否为素数(质数)。素数是指只能被1和它本身整除的正整数。
解题思路
-
获取用户输入的正整数。
-
判断输入的数是否小于等于1,如果是,则不是素数。
-
对于大于1的数,从2开始到这个数的平方根(包括平方根),逐个检查是否能整除。如果存在能整除的数,则不是素数。
-
如果没有找到能整除的数,那么这个数是素数。
完整代码
import math
# 用户输入正整数
num = int(input("请输入一个正整数:"))
# 判断是否为素数
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(math.sqrt(n)) + 1):
if n % i == 0:
return False
return True
# 输出结果
if is_prime(num):
print(f"{num} 是素数")
else:
print(f"{num} 不是素数")
代码讲解
-
import math
:导入 Python 的math
模块,用于计算平方根。 -
num = int(input("请输入一个正整数:"))
:获取用户输入的正整数并将其转换为整数类型,存储在变量num
中。 -
def is_prime(n)
:定义一个名为is_prime
的函数,用于判断是否为素数。 -
if n <= 1
:如果输入的数小于等于1,返回False
,因为1和负数不是素数。 -
for i in range(2, int(math.sqrt(n)) + 1)
:通过循环从2到数的平方根(包括平方根)遍历每个数,以检查是否存在能整除的因子。 -
if n % i == 0
:如果存在可以整除的因子,返回False
,说明不是素数。 -
return True
:如果循环结束后都没有找到可以整除的因子,返回True
,说明是素数。 -
最后,根据
is_prime
函数的返回值输出相应的信息,判断输入的数是否为素数。