鱼C论坛

 找回密码
 立即注册
查看: 1931|回复: 1

[已解决]能帮我看看这个for循环吗?执行过程是什么样的,好绕!!

[复制链接]
发表于 2019-10-10 22:54:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. for n in range(2, 10):
  2.     for x in range(2, n):
  3.         if n % x == 0:
  4.             print(n, '等于', x, '*', n//x)
  5.             break
  6.     else:
  7.         # 循环中没有找到元素
  8.         print(n, ' 是质数')
复制代码
最佳答案
2019-10-10 23:20:54
1. 寻找2 到 9 (不包括10)之间的素数。
2. 最外边循环挨个取出数字,从2到9
3. 里面的循环是拿2 到该数的值-1(不包括该数的值)去除,如果能除开,就打印几 * 几,并跳出内层循环
4. else是指内层循环都除完了,都没能整除,那么该数就是质数。
=====
2 不执行内层循环,所以直接打印是质数
4 内层循环拿先2 去除它,可以整除,就打印2 * 2,退出内层循环,else 不会被执行。这里的else 没有if, 接在for 循环后面,表示只有for循环全部执行,没有中间 break, else 才会被执行

执行结果,感觉这么走,4也是质数啊

执行结果,感觉这么走,4也是质数啊
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-10-10 23:20:54 | 显示全部楼层    本楼为最佳答案   
1. 寻找2 到 9 (不包括10)之间的素数。
2. 最外边循环挨个取出数字,从2到9
3. 里面的循环是拿2 到该数的值-1(不包括该数的值)去除,如果能除开,就打印几 * 几,并跳出内层循环
4. else是指内层循环都除完了,都没能整除,那么该数就是质数。
=====
2 不执行内层循环,所以直接打印是质数
4 内层循环拿先2 去除它,可以整除,就打印2 * 2,退出内层循环,else 不会被执行。这里的else 没有if, 接在for 循环后面,表示只有for循环全部执行,没有中间 break, else 才会被执行
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-23 08:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表