| 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) |