外卖送餐服务越来越受到人们的喜爱,外卖小哥们也成了路上的一道风景。 当顾客使用外卖软件点餐时,会出现一个预计送达时间,包括了餐厅制作食物的时间,路上的骑行时间等等。 一种常用的计算路上骑行时间的方法是用曼哈顿距离(manhatton distance)除以平均骑行速度。平面上点A(x1,y1)与点B(x2,y2)的曼哈顿距离为:|x1-x2|+|y1-y2|。 假设一名外卖小哥的平均骑行速度为30km/h。下面的程序模拟计算外卖小哥的路上骑行时间,请你补充完整。 输入:分两次输入A点和B点的坐标值 输出:A、B两点间的曼哈顿距离和路上骑行时间。 #求绝对值 def my_abs(n): if ① return n else: return ② #主程序 v=30 #平均骑行速度 x1=float(input('输入A点的x坐标(米):')) y1=float(input('输入A点的y坐标(米):')) x2=float(input('输入B点的x坐标(米):')) y2=float(input('输入B点的y坐标(米):')) #计算曼哈顿距离mht mht = ③ #计算路上骑行时间 time_on_the_road = ④ print('A、B两点的曼哈顿距离为{}米'.format(mht)) print('预计路上骑行时间需要{}分钟'.format(time_on_the_road)) 程序运行结果: 输入A点的坐标(米),以逗号分隔:-1000,1000 输入B点的坐标(米),以逗号分隔:1000,-1000 A、B两点的曼哈顿距离为4000米 预计路上骑行时间需要8.0分钟
正确答案:补全答案:①n>=0 ②-n ③my_abs(x1-x2)+my_abs(y1-y2) ④mht/(v*1000)*60。核心:曼哈顿距离|Δx|+|Δy|,时间=距离(km)÷速度(km/h)×60分钟。
试卷来源:202109 青少年软件编程等级考试Python四级真题