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