Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- def ptbf(stin):
- result = ''
- prog = stin.split('\n')
- prog=map(list, prog)
- xmax = max(map(len, prog))
- for a, b in enumerate(prog):
- r = xmax-len(b)
- prog[a].extend(r*[' '])
- ymax = len(prog)
- for line in range(ymax):
- for char in range(xmax):
- if prog[line][char]!='X':
- continue
- neighbors=[0,0,0]
- neighbors[0] = prog[(line-1)%ymax][(char-1)%xmax]
- neighbors[1] = prog[(line-1)%ymax][(char)]
- neighbors[2] = prog[(line-1)%ymax][(char+1)%xmax]
- neighbors = tuple(neighbors)
- result+={('X','X','X'):'+', (' ',' ',' '):'-', (' ',' ','X'):'>', ('X',' ',' '):'<', (' ','X',' '):'.', ('X',' ','X'):',', ('X','X',' '):'[', (' ','X','X'):']'}[neighbors]
- return result
- if __name__=="__main__":
- z = open(sys.argv[1], "rb+")
- contents = z.read()
- if len(sys.argv)==3:
- r = open(sys.argv[2], "w+")
- else:
- r = open(sys.argv[1], "w+")
- r.write(ptbf(contents))
- z.close()
- r.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement