开始之前先来明白什么是素数
素数是大于1的自然数,除了1和它本身以外没有其他因数的数
先把完整代码放出,如下:
for n in range(2,10):
for x in range(2,n):
if n % x == 0:
break
else:
print(n)
开始分析
我们要找的素数就在 n 中,而x 为 n 的因数
如果 n % x == 0 ,说明 x 是 n 除 1 和本身的因数之一,这时 n 不是素数,使用break跳出循环
如果 n % x !== 0 ,说明 n 是素数,执行else语句,将素数 n 打印出来
特别注意
else与循环配对而不是与if配对
else在循环正常完成(没有遇到break)时执行- 如果循环被
break中断,else不会执行
在这个质数判断中,我们想要的是:"如果检查完所有可能的因子都没有找到能整除的,那么这个数是质数" - 这需要else与for配对
Comments NOTHING