|
发表于 2020-5-19 10:12:38
|
显示全部楼层
本楼为最佳答案
你的程序能解决问题,但是你的解释是不清楚的。
for循环会用 i 对可遍历对象逐个遍历,
他的程序中在for循环语句块内修改 i 不影响 i 对原可遍历对象的遍历,也就是每次循环 i 都会从列表中读取下一个元素,不管在for循环语句块中对 i 进行什么操作。
所以他的程序才会得到那个结果。
实例说话,开始for循环会得到i从0~9进行遍历
第一次循环 i=0,得到 '小甲鱼',在循环体内i进行了 i+=2,此时 i=2 ,但它不影响下一次循环i的赋值;
第二次循环 i=1,得到 '88',在循环体内i进行了 i+=2,此时 i=3 ,但它不影响下一次循环i的赋值;
……
需要修改的是循环开始时的遍历对象
- member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
- for i in range(0,len(member),2):#range(0,10,2)遍历对象变成了:0 2 4 6 8
- print (member[i],member[i+1])
复制代码
|
|