私はfor
ループのデモンストレーションを書いて、RGBスペクトル内のすべての可能な色を出力します。意図は、どのようにしてfor
ループが動作するかを理解するのに役立ちます。なぜトリプルにメモリ例外がスローされるのですか?
import csv
print("Started")
for_max = 256
with open('spectrum.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
spectrum = []
head = ["R", "G", "B", "Hex"]
spectrum.append(head)
for r in range(0, for_max):
for g in range(0, for_max):
for b in range(0, for_max):
r_hex = format(r, '02x')
g_hex = format(g, '02x')
b_hex = format(b, '02x')
hex_string = str("#") + str(r_hex) + str(g_hex) + str(b_hex)
spectrum.append([format(r, '03'), format(g, '03'), format(b, '03'), hex_string])
writer.writerows(spectrum)
print("Finished")
残念ながら、現在メモリオーバーフローが発生しています。
トレースバック(最新の呼び出しの最後):MemoryError
で、私は最終的なリストことをチェックして、ライン 31: "/ [...]/rgb_for.py C" のファイルPythonのリストの最大値よりも小さく、実際にはそれが本当です。したがって、これは何を引き起こす可能性がありますか?