0

我有一个大小为“bsize”的数组“barray”和另一个大小为“csize”的“carray”。i循环用于barray,循环j用于carray。

我收到一个我未定义的错误。我希望循环从 0 到 bsize - 2 以 3 为步,从 0 到 csize - 2 以单步。

我应该如何将大小和数组与 for 循环联系起来?

bsize = 960
csize = 960
barray = bytearray(fi.read())
carray= bytearray(f1.read())



for i in range (bsize-2,i+3):
    for j in range (csize-2,j+1):
4

1 回答 1

4
 for i in range (0, bsize - 2, 3): #possibly bsize - 1?
    for j in range (csize - 2): # possibly csize - 1?
        #do your thing

这将循环遍历第一个i,每次递增 3,然后递增j1。

看看这个教程或者这些文档来学习range,真的很有用!

我不确定你是想通过 bsize - 2 还是仅仅通过它。如果通过,使用 size - 1 得到 size - 2。

您收到错误的原因是您没有定义i您在步骤中使用的。如您所见,pythonrange不像许多其他语言的for结构。但是,一旦您习惯了它,它就会非常灵活且易于使用。

使用简单范围的一些示例:

>>> for i in range(0, 14, 3):
...    print i
... 
0
3
6
9
12

>>> for i in range(1, 5):
...     print i
... 
1
2
3
4

>>> for i in range(5):
...     print i
... 
0
1
2
3
4
于 2013-08-15T23:37:02.870 回答