python3判断输入的数是否为素数

首先,需要明确什么是素数?

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

  举个例子:5---除了能被1或5整除外,再也找不到第三个可以整除它的自然数了。那么5就是素数。

那么,如果用程序如何来判断它是不是素数?

实现思路:

1 需要先输入一个被判断的数字并赋值给 Number
2 判断这个数符不符合“Number > 1”的规则,如果不符合就结束循环,如果符合就去检验是不是素数
3 如果能被1到Number之间的任意一个正整数整除就可以判断为不是素数,即可结束循环
4 如果1至Number之间所有的正整数都不能整除,那么就是素数,即可结束循环

有了思路,咱们来看具体要怎么实现:

Number = int(input("请输入一个数字:"))          # 输入一个正整数,并赋值给Number
if Number > 1:                                 # 判断输入的正整数是否大于1
    for i in range(2,Number):                  # 循环取出2至Number-1的正整数 i
        if Number % i == 0:                    # 将Number与i取余,如果余数为0 ,则就可以被整除
            print ("数字%s不是素数" % Number)
            break                              # 不是素数,结束循环
    else:
        print("数字%s是素数" % Number)           # 否则就是素数,打印结果
else:
    print("输入的数字小于1,不合法")

对于这段代码,有个地方要注意:

  else没有和if是一对,而是和for并排的,else与for搞到了一起,凑成了一对,我们常见的是if…else…或者if…elif…else诸如此类,但其实for也可以和else搭配出现,在这段代码里,当某一次遍历结果余数为0后,break生效,那循环就结束了。就这样完了,就是上边思路中的第三点。

最后来看看不同情况的结果:

请输入一个数字:17
数字17是素数

请输入一个数字:-10
输入的数字小于1,不合法

请输入一个数字:9
数字9不是素数

 

 

转载于:https://www.cnblogs.com/Zhan-W/p/11519708.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值