为什么“i”不会在以下代码中增加

时间:2017-06-06 18:44:32

标签: python

我是编码的新手,在“python”

中偶然发现了这些代码行
a = [1,2,3,4,"hello"]

for i in a:
   try:
       print(i)
       i + 1
       print (("i is :  %d") %(i))
   except:
       print("nope " + i  + " is a string")

输出结果为:

1
i is :  1
2
i is :  2
3
i is :  3
4
i is :  4
hello
nope hello is a string

1)我的问题是为什么我不会增加? 2)为什么在第二个打印声明中不是i = 2 i? 3)“i”是否会增加?

1 个答案:

答案 0 :(得分:1)

因为你没有过度编写变量。你想要的是:

  

i + = 1

您的代码实际上是在计算i+1,但它不会更新变量。

但是for循环的想法不是必须自己增加变量。它在下一次迭代时递增。你想要一个更复杂的迭代模式,你最好先创建它。