python计算曼哈顿距离带else函数
时间: 2024-10-10 21:15:01 浏览: 35
Python用户推荐系统曼哈顿算法实现完整代码
在Python中,曼哈顿距离(Manhattan Distance),也称为城市街区距离或L1距离,是一种衡量两个点之间在网格状坐标系上移动总距离的方式。如果你想要编写一个计算曼哈顿距离的函数,并包含一个`else`分支处理特殊情况,比如输入不是有序列表或元组,你可以这样做:
```python
def manhattan_distance(point_a, point_b):
# 检查输入是否为有序序列
if not (isinstance(point_a, (list, tuple)) and isinstance(point_b, (list, tuple))):
return "输入错误,请提供两个有序点作为列表或元组"
# 如果都是二维坐标,提取x和y值
x1, y1 = point_a
x2, y2 = point_b
# 计算曼哈顿距离
distance = abs(x1 - x2) + abs(y1 - y2)
return distance
# 示例
distance = manhattan_distance([0, 0], [3, 4])
print(distance) # 输出:7
# 错误示例(会触发else分支)
invalid_input = 5
distance = manhattan_distance(invalid_input, [3, 4])
print(distance) # 输出:"输入错误,请提供两个有序点作为列表或元组"
```
在这个函数里,我们首先检查输入是否为有序的点对,如果不是,则返回错误信息。如果输入是有效的,我们会计算并返回两点之间的曼哈顿距离。
阅读全文