知行编程网知行编程网  2022-08-17 01:00 知行编程网 隐藏边栏  21 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python如何判断一个数是素数的相关知识,包括isprime函数判断素数python,以及pythonfor循环判断素数这些编程知识,希望对大家有参考作用。

如何在python中检查一个数字是否是素数

大于 1 的自然数不能被除 1 和自身(2、3、5、7 等)以外的其他自然数(质数)整除,也就是说,这个数除了 1 和自身之外没有其他因数。

首先我们来第一个传统的判断思路:

def handlerNum(num):
    # 质数大于 1
    if num > 1:
        # 查看是否有其他因子
        for i in range(2, num//2+1):
            if (num % i) == 0:
                print(num,"不是质数")
                break
        else:
            print(num, "是质数")
    # 如果输入的数字小于或等于 1,不是质数
    else:
        print(num, "不是质数")
if __name__ == '__main__':
        # 用户输入一个数字
        num = int(input("请输入一个数字: "))
        # 调用函数处理方法
                handlerNum(num)

其实上面循环中的else和if并不是配对的,而是和for并排的。当然,for和else一起出现的情况并不少见,你会慢慢明白的。这段代码的意思是当for里面的条件不满足的时候,就会执行else里面的代码。以上就是我们按照传统思路解决问题。其实有一种更快更简单的解决问题的方法,就是用真假来判断。

#处理函数
def IsPrime(num):
  #根据质数的定义,其必须大于0
    if num == 1:
        return False
  #循环需要判断的次数
    for i in range(2, num // 2 + 1):
    #如果该数有其他的因子返回False,即不是质数
        if num % i == 0:
            return False
    return True
if __name__ == '__main__':
    #输入一个数字 
        num = eval(input("请输入一个数,判断是否为质数:"))
    #调用方法(如果是质数返回True,否则返回False),打印结果
        print(IsPrime(num))

这两种方法大体相似,但这为我们以后解决问题提供了一种新的思路。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享