fork download
  1. def l(a):
  2. from itertools import count
  3. for i in count():
  4. if a(i) is None:
  5. return i
  6.  
  7. def r(k, a):
  8. l_a = l(a)
  9. return lambda i: a(i % l_a) if i < l_a * k else None
  10.  
  11. def c(a, b):
  12. l_a, l_b = l(a), l(b)
  13. return lambda i: a(i) if i < l_a else b(i - l_a) if i < l_a + l_b else None
  14.  
  15. def s(c):
  16. assert len(c) == 1
  17. return lambda i: c if i == 0 else None
  18.  
  19. def p(a):
  20. print ''.join(a(i) for i in range(l(a)))
  21.  
  22. if __name__ == '__main__':
  23. p(c(r(3,c(r(3,s('9')),s('1'))),s('2')))
Success #stdin #stdout 0.01s 7728KB
stdin
Standard input is empty
stdout
9991999199912