| f | def turtle(coord, direction): | f | def turtle(coord, direction): | 
            | n | turn = (yield) | n | move = (yield coord) | 
            |  | while True: |  | while True: | 
            | n | if turn == 'f': | n | if move == 'f': | 
            |  | if direction == 0: |  | if direction == 0: | 
            |  | coord = (coord[0] + 1, coord[1]) |  | coord = (coord[0] + 1, coord[1]) | 
            | n | if direction == 1: | n | elif direction == 1: | 
            |  | coord = (coord[0], coord[1] + 1) |  | coord = (coord[0], coord[1] + 1) | 
            | n | if direction == 2: | n | elif direction == 2: | 
            |  | coord = (coord[0] - 1, coord[1]) |  | coord = (coord[0] - 1, coord[1]) | 
            | n | if direction == 3: | n | elif direction == 3: | 
            |  | coord = (coord[0], coord[1] - 1) |  | coord = (coord[0], coord[1] - 1) | 
            | n |  | n | if move == 'l': | 
            |  |  |  | direction = (direction + 1) % 4 | 
            |  | if turn == 'r': |  | if move == 'r': | 
            |  | direction = (direction - 1) % 4 |  | direction = (direction - 1) % 4 | 
            | t | if turn == 'l': | t |  | 
            |  | direction = (direction + 1) % 4 |  |  | 
            |  | turn = (yield coord) |  | move = (yield coord) |