name='ABCDE'
length=len(name)
for i in range(0,length):
print(name[i],'\t',end='')
print(i, '\t', end='')
i+=1
print(i,'\t',end='')
print('hello')
Output:
A 0 1 hello
B 1 2 hello
C 2 3 hello
D 3 4 hello
E 4 5 hello
我无法理解第二行输出。 在第二次迭代中,i的值应再次在for循环中递增,输出应为:
C 2 3 hello
等在其他迭代中。
答案 0 :(得分:0)
如果我正确理解了这个问题,那么你就是假设
i+=1
将影响i
下一次迭代。
python中的语法for i in range():
意味着在每个迭代周期的开始,i
将采用range()
提供的下一个值,而不管正文中的赋值。 / p>
在你的情况下,你有
range(0, length)
评估为:
range(0,5) # == [0,1,2,3,4]
因此i
采用0
到4
的值。
要说服自己,试试这个:
for i in range(0,5):
print(i)
i = 1000 # any number
打印:
0
1
2
3
4