100道python基础题——(21)

发布时间 2023-03-28 16:58:41作者: 第几个梦乘风起

机器人从原点(0,0)开始在平面中移动。 机器人可以通过给定的步骤向上,向下,向左和向右移动。 机器人运动的痕迹如下所示:
UP 5
DOWN 3
LETF 3
RIGHT 2
方向之后的数字是步骤。 请编写一个程序来计算一系列运动和原点之后距当前位置的距离。如果距离是浮点数,则只打印最接近的整数。
例:如果给出以下元组作为程序的输入:
UP 5
DOWN 3
LETF 3
RIGHT 2
然后,程序的输出应该是:2
提示:如果输入数据被提供给问题,则应该假定它是控制台输入。

 

import  math
ans1=0
ans2=0
while True:
s=input()
if not s:
break
a = s.split(' ')
b=a[0]
c=int(a[1])
if(b=='UP'):
ans1 = ans1+c
elif(b=='DOWN'):
ans1 = ans1-c
elif(b=='LETF'):
ans2 = ans2+c
elif(b=='RIGHT'):
ans2 = ans2-c
else:
pass
ans =rounf(math.sqrt(ans1*ans1+ans2*ans2))
print(ans)