鱼C论坛

 找回密码
 立即注册
查看: 1371|回复: 8

[已解决]010课后练习

[复制链接]
发表于 2020-5-19 10:12:38 | 显示全部楼层    本楼为最佳答案   
Twilight6 发表于 2020-5-19 07:35
因为你这里的代码:

每次循环,for 这边会重新给 i 赋值 导致你for循环里面对 i 进行赋值被 for循环重新 ...


你的程序能解决问题,但是你的解释是不清楚的。
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的赋值;
……
需要修改的是循环开始时的遍历对象
  1. member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
  2. for i in range(0,len(member),2):#range(0,10,2)遍历对象变成了:0 2 4 6 8
  3.     print (member[i],member[i+1])
复制代码

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-14 05:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表