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 つの数値がすべて同じ場合、これは正常に機能します。そうでない場合は、変数の 1 つが指定された数値を初めて上回らなければならないときに停止します。すなわち。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
テーブルを埋めないことを除けば、うまく機能します。2つの次元(深さを取り出す)だけにするとうまくいきます。コードの前または後に行を移動しても、どちらも役に立たないようです。私はすでにここで同様の質問を調べましたが、ここでエラーを見つけるのに役立つものは何も見当たりませんでした.