A robot moves in a plane starting from the original point (0,0)

Question:

  • A robot moves in a plane starting from the original point (0,0). The robot can move UP, DOWN, LEFT, and RIGHT with a given step.
  • The trace of robot movement is shown as the following:
    • UP 5
    • DOWN 3
    • LEFT 3
    • RIGHT 2

The numbers after the direction are steps. Please write a program to compute the distance from the current position after a sequence of movements and the original point. If the distance is a float, then just print the nearest integer.

Example:

  • If the following tuples are given as input to the program:
    • UP 5
    • DOWN 3
    • LEFT 3
    • RIGHT 2
  • Then, the output of the program should be: 2

Hints:

  • In case of input data being supplied to the question, it should be assumed to be a console input.

Solution:

import math pos = [0,0] while True: s = raw_input() if not s: break movement = s.split(" ") direction = movement[0] steps = int(movement[1]) if direction=="UP": pos[0]+=steps elif direction=="DOWN": pos[0]-=steps elif direction=="LEFT": pos[1]-=steps elif direction=="RIGHT": pos[1]+=steps else: pass print int(round(math.sqrt(pos[1]**2+pos[0]**2)))
Code language: Python (python)

Leave a Comment