知行编程网知行编程网  2022-09-09 14:00 知行编程网 隐藏边栏  15 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python如何判断一个数是否是素数的相关知识,包括python判断质数代码,以及python1000以内的素数这些编程知识,希望对大家有参考作用。

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

先来看下什么是质数:

素数又称素数,是指大于1且除1和数本身外不能被其他自然数整除的数(也可以定义为只有1和数两个因数的数)本身)。

简单来说,一个只能被 1 和自身整除的数(需要大于 1)就是质数。例如数字 5,从 2 到 4,不能被它整除,只有 1 和它本身(5)才能被 5 整除,所以 5 是一个典型的素数。

那么在 Python 中,你想如何计算一个随机数是否是素数呢?首先,第一句必须接受用户输入的数字:

n = int(input("please enter the number:"))

那么计算该数是否为素数,需要从2除到数前的自然数,这显然是一个数的范围:

for i in range(2, n):

在循环体中,每个循环当然是判断当前除法是否为整数除法。在这里,可以使用取模运算,即取余数。当余数为 0 时,该数不是质数:

if n % i == 0:
        print("%d is not a prime number!" % n)
        break

这个break的意思是当数不是质数时,跳出整个循环,这个数不是我们想要的数。

那么,所有循环迭代都完成后还没有找出能整除的情况的话,那么可以判断该数就是一个质数,所以:

else:
    print("%d is a prime number!" % n)

至此,所有代码都写好了,但是为了简单起见,没有判断覆盖层是否大于1,用户输入的数字需要默认大于1:

n = int(input("please enter the number:"))
for i in range(2, n):
    if n % i == 0:
        print(" %d is not a prime number!" % n)
        break
else:
    print(" %d is a prime number!" % n)

这里我们要细细品味这段代码,else其实并不是和if成对,而是和for并列,我们常用if...else...or if...elif...else等,但实际上 for 也可以和 else 一起出现,在这段代码中,当一个遍历结果的余数为 0 时,break 生效,循环结束,成对出现的 else 代码不会被执行;当所有遍历结束,没有余数为0,则循环进入else并开始执行,并打印出“这个数是质数”。

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

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