Python【习题】质数(素数):判断质数


人生苦短,我用Python

环境:Windows 10 64-bit, python == 3.6.4 , PyCharm CE == 2018.1
声明:学习资源来自于网络,这里是自己学习笔记总结与分享,每篇内容会随着学习的深入进行更新,如发现问题请评论留言。由于网络重复资源比较多,原作者不明,均未给出链接,实现代码根据自己的理解会重新编写,若原作者看到此文,请留言,我将标记文中代码来源。


  • 题目:随机输入一个数,判断是否为质数?

定义:质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为[合数]。除了1和它本身以外不再有其他的因数。

理解质数的定义,代码就很容易写:

n = int(input('请输入任意一个自然数:'))

if n > 1:
    for i in range(2,n): # 查找除了1和其本身外,其他因子
        if n % i == 0:
            print(n,'不是质数')
            break
    else: # for循环的else语句
        print(n,'是质数')

这里需要注意的是:for循环的else语句

在 python 中,for ... else ... 表示这样的意思,for 中的语句和普通的没有区别, else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while ... else ... 也是一样。


  • 补充:找出100~200内所有的质数?
    for循环给出范围,列表收集查找出的质数
L = []
for n in range(100,201):
    for i in range(2,n): # 查找除了1和其本身外,其他因子
        if n % i == 0:
            # print(n,'不是质数')
            break
    else: # for循环的else语句
        L.append(n)
print('质数有:', L)

你可能感兴趣的:(Python【习题】质数(素数):判断质数)