Iteration WAS在我的脚本中工作,现在我不能让python迭代 - 发生了什么?

Jus*_*oll 0 python

我的python ide坏了吗?

import sys

i = 0
sample = ("this", "is", "Annoying!")

for line in sample:
    print i, line
    i + 1
Run Code Online (Sandbox Code Playgroud)

现在给我......

0 this 
0 is 
0 Annoying!

我想,它会给我:

1 this 
2 is 
3 Annoying

我有其他正在处理的脚本,而且它们都破坏了 - 当他们使用for语句打印大量迭代时,它们都具有相同的行号 - 有人可以告诉我发生了什么 - 非常沮丧大声笑.. Python打破了吗?我需要睡觉吗?这有什么不对?

bal*_*pha 10

虽然其他答案是正确的,这是你通常在python中这样做的方式:

sample = ("this", "is", "Annoying!")

for i, line in enumerate(sample):
    print i, line
Run Code Online (Sandbox Code Playgroud)

enumerate功能完全符合您的要求:迭代您的元组,同时为您提供(行)数字.


sth*_*sth 7

您正在计算,i+1但不会将结果存储在任何地方.具体而言,您没有更新i以包含新值.使用i = i + 1i += 1代替.