Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 Python索引错误超出范围_Python 2.7 - Fatal编程技术网

Python 2.7 Python索引错误超出范围

Python 2.7 Python索引错误超出范围,python-2.7,Python 2.7,我需要为不同的部门轮流分配座位,但当我尝试这样做时,我会出错 下面我粘贴了代码: #matrix for dept1 X = [111, 222, 333, 444, 555, 666, 777 ,888, 999, 123, 234,345] #matrix for dept2 Y = [1111, 2222, 3333, 4444, 5555, 6666, 7777, 8888, 9999,9876, 8765,7654] #empty class room which consist of

我需要为不同的部门轮流分配座位,但当我尝试这样做时,我会出错

下面我粘贴了代码:

#matrix for dept1
X = [111, 222, 333, 444, 555, 666, 777 ,888, 999, 123, 234,345]
#matrix for dept2
Y = [1111, 2222, 3333, 4444, 5555, 6666, 7777, 8888, 9999,9876, 8765,7654]
#empty class room which consist of 18 students
class_room = [[0,0,0,0,0],
         [0,0,0,0,0],
        [0,0,0,0,0],
        [0,0,0,0,0],
        [0,0,0,0,0]]


ca = 0

pa = 0

print 'combining dept1 and dept2 in alternative manner'


for i in range(5):

    for j in range(25):

        if j%2 == 0:
            class_room[i][j] = X[pa]
            pa += 1
        else:
            class_room[i][j] = Y[ca]
            ca += 1

print class_room

#error - Traceback (most recent call last):
# File "C:\Users\SONY\workspace\mine\taest3.py", line 24, in <module>
#   class_room[i][j] = X[pa][pa]
#IndexError: list index out of range
#dept1的矩阵
X=[11122233344455666677778999123234345]
#dept2的矩阵
Y=[111122233344445555566667777888999987687687654]
#由18名学生组成的空教室
教室=[[0,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0]]
ca=0
pa=0
打印“以替代方式组合dept1和dept2”
对于范围(5)中的i:
对于范围(25)内的j:
如果j%2==0:
教室[i][j]=X[pa]
pa+=1
其他:
教室[i][j]=Y[ca]
钙离子=1
打印教室
#错误-回溯(最近一次呼叫上次):
#文件“C:\Users\SONY\workspace\mine\taest3.py”,第24行,在
#教室[i][j]=X[pa][pa]
#索引器:列表索引超出范围

请帮助我纠正和清除。

您在范围(25)中循环了j的
,但是您没有25个元素长的元素。相反,请执行以下操作:

for i in range(5):
    for j in range(5):  # DIFFERENT
        if (5 * i + j) % 2 == 0:  # ALSO DIFFERENT
            class_room[i][j] = X[pa]
            pa += 1
        else:
            class_room[i][j] = Y[ca]
            ca += 1

请注意,这将引入一个新的索引器,因为您有25个教室,
X
Y
组合中只有24个条目。将另一个元素添加到
X
中,代码将运行。

乐意帮忙。如果这是特别有用的,我鼓励你投赞成票。