测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A48754. 外卖送餐服务越来越受到人们的喜爱, 外卖小哥们也成了路上的一道风景。当顾客使用外卖软件点餐时, 会出现一个预计送达时间, 包括了餐厅制作食物的时间,路上的骑行时间等等。一种常用的计算路上骑行时间的方法是用曼哈顿距离( manhatton distance )除以平均骑行速度。 平面上点 A(x1,y1)与点 B(x2,y2)的曼哈顿距离为: |x1-x2|+|y1-y2|。假设一名外卖小哥的平均…

填空题 中等

题目描述

外卖送餐服务越来越受到人们的喜爱, 外卖小哥们也成了路上的一道风景。

当顾客使用外卖软件点餐时, 会出现一个预计送达时间, 包括了餐厅制作食物的时间,

路上的骑行时间等等。

一种常用的计算路上骑行时间的方法是用曼哈顿距离( 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 分钟

参考答案

#求绝对值 def my_abs(n): if n>0: return n else: return -n #主程序 v=30 #平均骑行速度 x1,y1=eval(input('输入 A 点的坐标(米), 以逗号分隔: ')) x2,y2=eval(input('输入 B 点的坐标(米), 以逗号分隔: ')) #计算曼哈顿距离 mht mht = my_abs(x1-x2)+my_abs(y1-y2) #方法 1 mht=my_abs(y1-y2)+my_abs(x1-x2) #方法 2 mhtsum([my_abs(x1-x2),my_abs(y1-y2)]) #方法 3 mht==sum((my_abs(x1-x2),my_abs(y1-y2))) #方法 4 #计算路上骑行时间 time_on_the_road = mht/1000/v*60 #方法 1 time_on_the_road = mht/(1000*v)*60 #方法 2 time_on_the_road = mht*60/1000/v #方法 3 time_on_the_road = (mht*60)/(1000*v) #方法 4 print('A、 B 两点的曼哈顿距离为{}米'.format(mht)) print('预计路上骑行时间需要{}分钟'.format(time_on_the_road))
上一题 下一题