如果我写

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/

10-14 18:02
查看更多