(for循环质数)老师这样更简化了,有没有什么漏洞?

(for循环质数)老师这样更简化了,有没有什么漏洞?

n=377
for i in range(2,n):
  if n%i==0:
     print("被{}整除,{}不是质数".format(i,n))
     break
else:
   print(n,"是质数")


这个else,是怎么回事。。。不抱错,正常运行

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手乔木 2019-11-10 16:09:20

同学你好:

同学的方法将else的语句去掉即可。

http://img1.sycdn.imooc.com//climg/5dc7c58409b1754805100151.jpg

优化的不错,加油!

如果我解决了同学的问题,请采纳!学习愉快^_^。

  • 提问者 qq__8359 #1
    去掉else的话,还得重新加个if,要不然岂不是所有质数都没有输出,上面只输出了被整除了的非质数
    2019-11-10 16:38:00
  • 好帮手乔木 回复 提问者 qq__8359 #2
    同学你好: 同学的判断只是判断变量n是否是质数。当n可以整除以2到n-1范围内任意一个数时,直接输出n不是质数,并且跳出循环。else根据缩进也没有与之匹配的if语句。学习愉快^_^。
    2019-11-10 18:44:53
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
1.Python零基础入门
  • 参与学习           人
  • 提交作业       2727    份
  • 解答问题       8160    个

想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师