如果我写
for i in range(5):
print i
然后给出0、1、2、3、4
这是否意味着Python会同时将0、1、2、3、4分配给i?
但是,如果我写了:
for i in range(5):
a=i+1
那我叫a只给5
但是,如果我添加“print a”,它将得到1、2、3、4、5
所以我的问题是,这里有什么区别?
我是字符串还是列表或其他东西?
也许有人可以帮我解决一下:
for l in range(5):
#vs,fs,rs are all m*n matrixs,got initial values in,i.e vs[0],fs[0],rs[0] are known
#want use this foor loop to update them
vs[l+1]=vs[l]+fs[l]
fs[l+1]=((rs[l]-re[l])
rs[l+1]=rs[l]+vs[l]
#then this code gives vs,fs,rs
如果我运行这种代码,那么只有在l = 5时我才能得到答案
如何使它们开始循环播放?
即l = 0得到了vs [1],fs [1],rs [1]的值,
然后l = 1得到了vs [2],rs [2],fs [2] ...的值,依此类推。
但是python给出了fs,vs,rs的不同数组,对应于l的不同值
我如何使它们一件?
最佳答案
在大多数(如果不是全部)编程语言中,“for循环”是一种可以多次运行一段代码的机制。
这段代码:
for i in range(5):
print i
可以这样工作:
i = 0
print i
i = 1
print i
i = 2
print i
i = 3
print i
i = 4
print i
因此,您看到的是,不是
i
同时获得值0、1、2、3、4,而是依次获得了值。我假设当您说“call a,它只给出5”时,您的意思是这样的:
for i in range(5):
a=i+1
print a
这将打印给出的最后一个值。每次循环迭代时,语句
a=i+1
都会用新值覆盖a
的最后一个值。代码基本上是从上到下依次执行的,而for循环是使代码返回并再次执行的一种方式,其中一个变量的值不同。
我希望这能回答您的问题。
关于python - Python range函数如何工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1738109/