Python【习题】质数(素数):判断质数
2018-04-30 本文已影响53人
彼岸的渔夫
人生苦短,我用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)