Python循环中变量逐次累加失效,如何修复?
问题修复方案
你代码的核心问题是把cnote = 0写在了for循环内部,这会导致每次循环迭代时,cnote都会被重新重置为0。所以每次循环里cnote只能从0变成1,下一次循环又回到初始值0,自然无法实现持续累加的效果。
修复后的代码
cnote = 0 for x in sweden: print(sweden.notes[cnote]) cnote += 1 print(cnote)
把cnote的初始化语句移到循环外面后,变量只会在循环开始前被设为0,之后每次循环都会在上一次的结果基础上累加1,就能达到你期望的效果。
额外优化建议
如果你的目标只是遍历sweden.notes里的元素,其实可以不用手动维护cnote变量,直接遍历列表更符合Python的写法:
for note in sweden.notes: print(note)
内容的提问来源于stack exchange,提问作者Socks Stark benry
相关产品推荐
相关产品推荐

