• 技术文章 >常见问题 >Python常见问题

    用python怎么实现判断素数

    silencementsilencement2020-03-07 15:39:25原创5199

    质数(Prime number),又称素数,指在大于1的自然数中,除了1和该数自身外,无法被其他自然数整除的数(也可定义为只有1与该

    数本身两个因数的数)。

    推荐:Python教程

    那么想计算出一个随机数是不是质数用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…或者if…elif…else诸如此类,但其实for也

    可以和else搭配出现,在这段代码里,当某一次遍历结果余数为0后,break生效,那循环就结束了,那与之成对出现的else代码也就不执

    行了;当所有遍历结束后没有一次余数为0,那该循环就转到else开始执行,打印输出“该数为质数”。

    更多技术请关注Python视频教程

    专题推荐:素数
    上一篇:在官网上怎么下载python 下一篇:算数平方根python怎么求

    相关文章推荐

    • 如何用python求100以内的素数?• 怎么用python判断一个数是否是素数• python如何判断素数

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网