Skip to content

【练习】素数

项目简介

素数

知识模块

  • Python 编程语言

知识点

  • 运算符
  • 循环语句-for-in
  • 分支语句-if
  • 函数返回值与参数处理

受众

  • 初级测试开发工程师
  • 初级Python开发工程师

作业要求

编写一个Python程序,输入一个正整数,判断这个数是否为素数(质数)。素数是指只能被1和它本身整除的正整数。

解题思路

  1. 获取用户输入的正整数。

  2. 判断输入的数是否小于等于1,如果是,则不是素数。

  3. 对于大于1的数,从2开始到这个数的平方根(包括平方根),逐个检查是否能整除。如果存在能整除的数,则不是素数。

  4. 如果没有找到能整除的数,那么这个数是素数。

完整代码

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} 不是素数")

代码讲解

  1. import math:导入 Python 的 math 模块,用于计算平方根。

  2. num = int(input("请输入一个正整数:")):获取用户输入的正整数并将其转换为整数类型,存储在变量 num 中。

  3. def is_prime(n):定义一个名为 is_prime 的函数,用于判断是否为素数。

  4. if n <= 1:如果输入的数小于等于1,返回 False,因为1和负数不是素数。

  5. for i in range(2, int(math.sqrt(n)) + 1):通过循环从2到数的平方根(包括平方根)遍历每个数,以检查是否存在能整除的因子。

  6. if n % i == 0:如果存在可以整除的因子,返回 False,说明不是素数。

  7. return True:如果循环结束后都没有找到可以整除的因子,返回 True,说明是素数。

  8. 最后,根据 is_prime函数的返回值输出相应的信息,判断输入的数是否为素数。