为什么判断质数一定要设置 is_prime = True

为什么判断质数一定要设置 is_prime = True

#判断质数
l = 776351721
is_prime = True
for i in range(0,l):   #左闭右开,那最后一个数是 7763531721 -1 吗?
   if l % i == 0:
       print(i)
       is_prime =False
       break
if is_prime == True:
   print('{0}是质数'.format(l))
else:
   print('{0}不是质数'.format(l))

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

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

1回答
慕客yang 2020-06-28 10:17:04

同学你好:

1、不一定要设置is_prime = True,is_prime在这里只是作为一个标识,设置is_prime等于True是默认值,程序执行到if判断之后,如果if判断成立那么把is_prime等于False,程序再继续往下执行,根据is_prime判断如果是True代表是质数否则不是质数,

2、如果不用is_prime也可以改成这样:

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

3、左闭右是7763531721 -1同学理解是正确的。但是下面的程序if判断是进行计算的,当i是0的时候会报错,因为在python中数字是不能除以0的,所以这里的循环要从1开始。



  • 是不是写错了,应该是“ if l % i != 0“,余数不为零才是质数,对吗? 另外,最后是不是还要再加一个break
    2020-07-10 21:58:49
  • 同学,你好。是的,余数不为0才是质数,最后不需要加break的。参考代码: 当for里面的条件都不满足时,就会执行else里面的代码。 l = 776351721 is_prime = True for i in range(2, l): if l % i == 0: print('{0}不是质数'.format(l)) break else: print('{0}是质数'.format(l)) 祝学习愉快~~~~
    2020-07-11 10:07:37
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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