题目有点坑

题目有点坑

r2 = range(1,10,2)
r1 = range(1,11,2)
print(r1 == r2) # True

这结果我惊呆了,感觉这题目出得不太好,容易让人产生误解

正在回答

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

1回答

同学你好:这道题确实比较有难度,需要非常扎实的基础才能做出来。但这道题是十分严谨的,运行代码产生的答案是唯一的。如下图所示:

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

range(1,10,2)取到1,3,5,7,9,r2[3:5]截取后值为7,9,截取后的range需要包含7, 9,并且遵循步长为2的原则,即截取后range第一个数为7,加步长2之后为9,range遵循左闭右开原则,此时range中不包含9,需再加步长2为11,即结果为range(7, 11, 2),所以B选项正确。

希望同学可以多练习和巩固基础知识,有不会的问题可以在问答区进行提问,将会有老师和同学对您的疑问进行解答。

如果解决了你的疑惑,请采纳,祝学习愉快~ 


  • 慕移动2137064 提问者 #1
    你好,我想问一下,那是不是可以理解,如果取值超出了range本身的长度,会r2自动填补然后满足条件后再进行取值
    2020-04-19 21:29:20
  • 好帮手慕觉浅 回复 提问者 慕移动2137064 #2
    同学你好:也可以这么理解:是根据得出的数字转换为range。因为最后得出的数字是7,9,而range是左闭右开的,所以是7开始,如果想包括9,就要用9加上步长,即9+2=11,转换为range是(7, 11, 2)。
    2020-04-20 10:32:39
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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