ite=2
l= [\'f = open("quineout"+str(ite)+".py", "w")\',
\'f.write("ite="+str(ite+1)+"\\\\n")\',
\'f.write("l="+ str(l)+"\\\\n")\',
\'from PIL import Image\',
\'def identity(n):\',
\' M=[[255 for i in range(n)] for i in range(n)]\',
\' for x in range(n): M[x][x]=0\',
\' return M\',
\'def hyp(d):\',
\' if d==2:\',
\' return [[255,0,255,0],[0,255,0,255],[255,0,255,0],[0,255,0,255]]\',
\' else:\',
\' M,a = [],hyp(d-1)\',\' for x in range(len(a)):\',
\' for i in identity(2**(d-1))[x]: a[x].append(i)\',
\' t,b=hyp(d-1),identity(2**(d-1))\',
\' for y in range(len(t)):\',
\' for n in t[y]:b[y].append(n)\',
\' for m in a: M.append(m)\',
\' for k in b: M.append(k)\',
\' return M\',
\'\',
\'M=hyp(ite)\',
\'cube=Image.new("1", (len(M),len(M)),"white")\',
\'pix=cube.load()\',
\'for q in range(2**ite):\',
\' for w in range(2**ite): pix[q,w]=M[q][w]\',
\'cube.save("hypercube"+str(ite)+".bmp","bmp")\',\'for a in l:\',
\' f.write(a+"\\\\n")\',
\'f.close()\',
\'if ite < 11: execfile("quineout"+str(ite)+".py")\']
f = open("quineout"+str(ite)+".py", "w")
f.write("ite="+str(ite+1)+"\\n")
f.write("l="+ str(l)+"\\n")
from PIL import Image
def identity(n):
M=[[255 for i in range(n)] for i in range(n)]
for x in range(n): M[x][x]=0
return M
def hyp(d):
if d==2:
return [[255,0,255,0],[0,255,0,255],[255,0,255,0],[0,255,0,255]]
else:
M,a = [],hyp(d-1)
for x in range(len(a)):
for i in identity(2**(d-1))[x]: a[x].append(i)
t,b=hyp(d-1),identity(2**(d-1))
for y in range(len(t)):
for n in t[y]:b[y].append(n)
for m in a: M.append(m)
for k in b: M.append(k)
return M
M=hyp(ite)
cube=Image.new(\'1\', (len(M),len(M)),"white")
pix=cube.load()
for q in range(2**ite):
for w in range(2**ite): pix[q,w]=M[q][w]
cube.save("hypercube"+str(ite)+".bmp","bmp")
for a in l:
f.write(a+"\\n")
f.close()
if ite <11: execfile("quineout"+str(ite)+".py")