鱼C论坛

 找回密码
 立即注册
查看: 1888|回复: 5

[已解决]求解不能得到所需结果原因

[复制链接]
发表于 2020-7-13 17:00:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
为输出以下结果:
'小甲鱼',88
'黑夜',90
...

小程序:

member=['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
num=len(member)
for i in range(num):
    print(member[i],member[i+1])
    i+=2

运行结果:
小甲鱼 88
88 黑夜
黑夜 90
90 迷途
迷途 85
85 怡静
怡静 90
90 秋舞斜阳
秋舞斜阳 88

求解错在哪里?

最佳答案
2020-7-13 17:12:26
for循环,会在开始的时候生成一个遍历列表,在循环过程中修改i不会影响对该列表的遍历
这里for i in range(num)就是i从列表[0,1,2,3,4,5,6,7,8,9]中取值,在循环体内修改i没有用,下一次循环会接着从列表中取下一个值。
所以需要的是修改遍历列表,把range步长修改为2,for i in range(0,num,2)这样便利列表就变成了[0,2,4,6,8]
member=['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
num=len(member)
for i in range(0, num, 2):
    print(member[i],member[i+1])
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-13 17:05:34 | 显示全部楼层
for 会自己改变i的值的,所以不需要i += 2.
还有,去掉i += 2后,要把range的步长设置为2才行。
member=['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
num=len(member)
for i in range(0, num, 2):
    print(member[i],member[i+1])
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-13 17:12:26 | 显示全部楼层    本楼为最佳答案   
for循环,会在开始的时候生成一个遍历列表,在循环过程中修改i不会影响对该列表的遍历
这里for i in range(num)就是i从列表[0,1,2,3,4,5,6,7,8,9]中取值,在循环体内修改i没有用,下一次循环会接着从列表中取下一个值。
所以需要的是修改遍历列表,把range步长修改为2,for i in range(0,num,2)这样便利列表就变成了[0,2,4,6,8]
member=['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
num=len(member)
for i in range(0, num, 2):
    print(member[i],member[i+1])
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-13 18:11:13 | 显示全部楼层
本帖最后由 MIKU神仙教主 于 2020-7-13 18:13 编辑

或者可以用求余取偶数项,每次遍历只在 i = 0,2,4,6这些偶数时进行打印。
member=['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
num=len(member)

for i in range(num):
    if i%2 == 0:
        print(member[i],member[i+1])
        i+=2

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-13 22:16:18 From FishC Mobile | 显示全部楼层
qiuyouzhi 发表于 2020-7-13 17:05
for 会自己改变i的值的,所以不需要i += 2.
还有,去掉i += 2后,要把range的步长设置为2才行。

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-13 22:17:22 From FishC Mobile | 显示全部楼层
谢谢各位赐教 !
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-20 01:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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