Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement