关于range()的问题

关于range()的问题

num = int(input('请输入一个数:'))
is_prime = True
for i in range(2, num):
   if num % i == 0:
       is_prime = False
       break
if is_prime == True:
   print('{}是质数。'.format(num))
else:
   print('{}不是质数。'.format(num))

上述代码运行时,若输入的num值为2,则for i in range(2, num)等价于for i in range(2,2),i是不是None?

那么if num % i == 0此判断条件为什么不成立,此时的i值又是什么呢?

正在回答

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

1回答

同学,你好,当输入的值为2时,即for x in range(2,2):没有进入循环,会执行下边的if条件判断语句。同学可以在debug模式下进行调试可以更好的理解。

如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~

  • 爱喝咖啡的胖子 提问者 #1
    那此时对于for x in range(2,2),x有值吗,是多少呢?
    2019-05-21 19:17:45
  • 时间, 回复 提问者 爱喝咖啡的胖子 #2
    同学,你好,range(2, 2)是一个空序列,len(range(2,2))获取长度结果为0,for x in range(2, 2):循环0次,甚至没有分配任何东西x,print时没有任何输出。
    2019-05-22 09:48:49
  • 爱喝咖啡的胖子 提问者 回复 时间, #3
    明白了,感谢
    2019-05-22 09:50:37
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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