# a clunky n-cycle (iterated quine) generator: def quiner(n): '''prints a program that will print itself after n iterations''' quotes = '"'*3 toprint = '' for i in range(1,n): toprint += 'def q' + str(i) + '(x):'""" quotes = '"'*3 print 'q""" + str(i+1) + "(' + quotes + x + quotes + ')'\n\n" toprint += 'def q' + str(n) + '(x):'""" quotes = '"'*3 print x print '' print 'q1(' + quotes + x + quotes + ')'""" print toprint + '\n\nq1(' + quotes + toprint + quotes + ')'