用python写出三个点是否在同一条直线上
时间: 2024-05-14 20:13:00 浏览: 20
可以使用斜率公式来判断三个点是否在同一条直线上。具体来说,计算任意两个点的斜率,如果三个点共线,则三个点之间组成的线段的斜率应该相等。下面是一个使用Python实现的例子:
```python
def is_on_same_line(p1, p2, p3):
x1, y1 = p1
x2, y2 = p2
x3, y3 = p3
# 计算三个点组成的两条线段的斜率
slope1 = (y2 - y1) / (x2 - x1) if x2 != x1 else float('inf')
slope2 = (y3 - y2) / (x3 - x2) if x3 != x2 else float('inf')
# 如果斜率相等,则三个点在同一条直线上
return slope1 == slope2
# 测试代码
p1 = (0, 0)
p2 = (1, 1)
p3 = (2, 2)
print(is_on_same_line(p1, p2, p3)) # 输出 True
p1 = (0, 0)
p2 = (1, 1)
p3 = (2, 3)
print(is_on_same_line(p1, p2, p3)) # 输出 False
```
希望这个例子能够帮助回答你的问题。