【编程题】机器人从原点(0,0)开始在平面中移动。 机器人可以通过给定的步骤向上,向下,向左和向右移动。 机器人运动的痕迹如下所示:
UP 5
DOWN 3
LETF 3
RIGHT 2
方向之后的数字是步骤。 请编写一个程序来计算一系列运动和原点(由input输入)之后距当前位置的距离。如果距离是浮点数,则只打印最接近的整数。
例:如果给出以下元组作为程序的输入:
UP 5
DOWN 3
LETF 3
RIGHT 2
然后,程序的输出应该是:2
【编程题】机器人从原点(0,0)开始在平面中移动。 机器人可以通过给定的步骤向上,向下,向左和向右移动。 机器人运动的痕迹如下所示:
UP 5
DOWN 3
LETF 3
RIGHT 2
方向之后的数字是步骤。 请编写一个程序来计算一系列运动和原点(由input输入)之后距当前位置的距离。如果距离是浮点数,则只打印最接近的整数。
例:如果给出以下元组作为程序的输入:
UP 5
DOWN 3
LETF 3
RIGHT 2
然后,程序的输出应该是:2
x0=x1=y0=y1=0
while True:
inp = input('请输入方向和数字空格隔开,或q退出:')
if inp == 'q':
break
a=inp.split()[0].lower()
b=int(inp.split()[1])
if a=='up':
y1+=b
elif a=='down':
y1-=b
elif a=='left':
x1-=b
elif a=='right':
x1+=b
dis=round(((x1-x0)**2+(y1-y0)**2)**0.5)
print(f'distance:{dis}')
运行结果:
请输入方向和数字空格隔开,或q退出:UP 5
请输入方向和数字空格隔开,或q退出:DOWN 3
请输入方向和数字空格隔开,或q退出:LEFT 3
请输入方向和数字空格隔开,或q退出:RIGHT 2
请输入方向和数字空格隔开,或q退出:q
distance:2