100例经典Python核心实战提升练习题汇总(三)

在编程这一块,我也只算是个学生,所以难免出现错误,希望各位发现问题或者有更好的答案,请及时斧正,不甚感激!

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))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值