Python - 判断整数是否为素数

题目

编写函数,判断一个整数是否为素数,并编写主程序调用该函数

思路

  1. 要想判断素数,首先要知道什么是素数。素数,又称质数,是指大于1的整数,除了1和自身外,没有其他正因数的数。换句话说,素数只能被1和自身整除,不能被其他大于1且小于自身的整数整除。
  2. 知道什么是素数以后,结合数学的知识,只需要遍历2 到 该整数平方根+1 之间的整数,都不能被该整数整除,那么这个整数就是质数。

代码

from math import sqrt
def IsPrime():
    while True:                                                                 #循环直到用户输入整数
        try:
            num = int(input("Please enter an integer greater than zero:"))      #提示用户输入
        except ValueError as err:                                               #捕捉到异常
            print("Input Error!")                                               #提示用户输入错误
        else:                                                                   #输入是整数
            if num > 0:                                                         #判断是否大于0
                if num == 1:                                                    #输入为1
                    print("%d is not prime." %num)                              #打印判断结果
                    return                                                      #返回
                for i in range(2,int(sqrt(num)+1)):                             #遍历所有可能的被整除的数
                    if num % i == 0:                                            #可以被整除
                        print("%d is not prime." %num)                          #打印判断结果
                        return                                                  #返回
                    
                print("%d is prime." %num)                                      #排除非质数判断,打印是质数的结果
                return                                                          #返回
if __name__ == "__main__":
    IsPrime()

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值