这道题解析没看懂,求讲解一下

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

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

1回答
好帮手乔木 2019-09-17 10:37:26

同学你好:

r2 = range(1,10,2) 

start =1

end = 10

step = 2

1 3 5 7 9

range是一个生成器。生成从1-10之间的奇数。

r2[3,5]

则是取索引为3和4的(左开右闭)元素。

7 , 9 按照r2的步长为2计算,索引为5的时候,元素为11.

因此为range(7,11,2)。

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


  • 提问者 dba菜鸟 #1
    这个range(1,10)中不是限定了最大是10吗 11都超了10这个我不理解
    2019-09-17 20:08:09
  • 好帮手乔木 回复 提问者 dba菜鸟 #2
    同学你好: 当再次使用range取r2的结果集时,已经和1-10的范围(生成一个只有奇数的range对象)没有关系。r2[3,5]截取获取range对象的一部分。range生成的是有序的range对象,判断出步长为2,左闭右开原则。因此是range(7,11,2)。同学输出print(list(range(7,11,2)))的结果[7,9] 如果我解决了同学的问题,请采纳!学习愉快^_^。
    2019-09-18 09:45:31
  • 慕码人8307624 回复 提问者 dba菜鸟 #3
    range(1,10,2)===(1,3,5,7,9) range (1,11,2)===(1,3,5,7,9) 照我理解,系统默认是两个序列是等价的,所以答案是range(7,11,2)
    2019-09-26 19:39:25
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

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

帮助反馈 APP下载

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

公众号

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

在线咨询

领取优惠

免费试听

领取大纲

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