run_rovers.py 822 Bytes
from rover import Rover


if __name__ == '__main__':
    instructions = []

    with open('input.txt') as f:
        boundaries = f.readline()

        for line in f:
            line = line.strip()
            if line:
                instructions.append(line)

    it = iter(instructions)
    for i, (start, route) in enumerate(zip(it, it)):
        # initialize rover on proper position, and have it store its route
        rover = Rover(start=start, route=route, boundaries=boundaries)
        # let the rover execute its route
        rover.execute_route(rover.route)
        position = '{} {} {}'.format(rover.coordinates[0],
                                     rover.coordinates[1],
                                     rover.heading)
        # print to stdout
        print 'Rover {}: {}'.format(i + 1, position)