def main():
rows = int(input("Insert # of rows "))
cols = int(input("Insert # of cols "))
dept = int(input("Insert # of dept "))
count = 0
trash = count
table = [[[ 0
for i in range(cols) ]
for j in range(rows) ]
for k in range (dept) ]
print ()
print ("Print empty table")
print(table)
print()
print("Print each element")
for i in range(rows):
print("-" * 30, "rows", i+1)
for j in range(cols):
print("-" * 22, "col", j+1)
for k in range (dept):
count += 1
table [i][j][k] = count
print ("row", i+1, "column", j+1, "depth", k+1, "=", count)
print()
print(table)
main()
如果所有 3 个数字都相同,则此方法可以正常工作。如果不是,它会在其中一个变量第一次超过其指定数字时停止。IE。如果输入 2、3 和 2,它将正常工作,直到到达第 3 列然后停止,并给出以下消息:
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
main()
File "C:/Users/***/Documents/prog123", line 28, in main
table [i][j][k] = count
IndexError: list assignment index out of range
如果我拿出线:
table [i][j][k] = count
它工作正常,除了它没有填写表格。如果我让它只有两个维度(取出深度),它也可以正常工作。在代码中将行移到更早或更晚似乎也无济于事。我已经在这里查看了类似的问题,但没有看到任何帮助我在这里发现错误的东西。