在编程这一块,我也只算是个学生,所以难免出现错误,希望各位发现问题或者有更好的答案,请及时斧正,不甚感激!
21.机器人从原始点(0,0)开始移动,机器人可以上下左右的移动,机器人的移动轨迹类似于上5,下3,左3,右2,计算当前点距离原始点的距离, 如果距离是float,只需要保留最近的int类型。比如输入下列元组,UP 5 DOWN 3 LEFT 3 RIGHT 2,输出则为2.
答案:
第二十一题:
# 定义函数,参数是一个元组
def Pos(tytuple):
# x是上下移动数值的差,这里可以取绝对值,也可以不取,因为后面要用勾股定理,所以不影响结果
x = int(tytuple[1]) - int(tytuple[3])
# y是左右移动数值的差,这里可以取绝对值,也可以不取,因为后面要用勾股定理,所以不影响结果
y = int(tytuple[5]) - int(tytuple[7])
# 勾股定理:在平面上的一个直角三角形中,两个直角边边长的平方加起来等于斜边长的平方。
# 我们这里可以看出机器人上下移动数值差就是机器人在y轴上的坐标、机器人作业移动数值差就是机器人在x轴上的坐标
# 将x平方和y的平方相加再开方,就得到了斜边的值,而斜边的值就是机器人到原点的距离
# 直角三角形
distance = pow((x ** 2 + y ** 2), 0.5)
print(round(distance))