Advertisement
Guest User

Simpuzz

a guest
Sep 19th, 2014
443
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.06 KB | None | 0 0
  1. import sys
  2. def ptbf(stin):
  3.     result = ''
  4.     prog = stin.split('\n')
  5.     prog=map(list, prog)
  6.     xmax = max(map(len, prog))
  7.     for a, b in enumerate(prog):
  8.         r = xmax-len(b)
  9.         prog[a].extend(r*[' '])
  10.     ymax = len(prog)
  11.     for line in range(ymax):
  12.         for char in range(xmax):
  13.             if prog[line][char]!='X':
  14.                 continue
  15.             neighbors=[0,0,0]
  16.             neighbors[0] = prog[(line-1)%ymax][(char-1)%xmax]
  17.             neighbors[1] = prog[(line-1)%ymax][(char)]
  18.             neighbors[2] = prog[(line-1)%ymax][(char+1)%xmax]
  19.             neighbors = tuple(neighbors)
  20.             result+={('X','X','X'):'+', (' ',' ',' '):'-', (' ',' ','X'):'>', ('X',' ',' '):'<', (' ','X',' '):'.', ('X',' ','X'):',', ('X','X',' '):'[', (' ','X','X'):']'}[neighbors]
  21.     return result
  22.  
  23. if __name__=="__main__":
  24.     z = open(sys.argv[1], "rb+")
  25.     contents = z.read()
  26.     if len(sys.argv)==3:
  27.        r = open(sys.argv[2], "w+")
  28.     else:
  29.        r = open(sys.argv[1], "w+")
  30.     r.write(ptbf(contents))
  31.     z.close()
  32.     r.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement