请把下面代码的所有 .x改为[0] 所有.y改为[1]:def getCircle(p1, p2, p3): x21 = p2.x - p1.x y21 = p2.y - p1.y x32 = p3.x - p2.x y32 = p3.y - p2.y # three colinear if (x21 * y32 - x32 * y21 == 0): return None xy21 = p2.x * p2.x - p1.x * p1.x + p2.y * p2.y - p1.y * p1.y xy32 = p3.x * p3.x - p2.x * p2.x + p3.y * p3.y - p2.y * p2.y y0 = (x32 * xy21 - x21 * xy32) / 2 * (y21 * x32 - y32 * x21) x0 = (xy21 - 2 * y0 * y21) / (2.0 * x21) R = ((p1.x - x0) ** 2 + (p1.y - y0) ** 2) ** 0.5 return x0, y0, R
时间: 2023-05-26 10:02:41 浏览: 67
把下面代码的所有 .x改为[0] 所有.y改为[1]:
def getCircle(p1, p2, p3):
x21 = p2[0] - p1[0]
y21 = p2[1] - p1[1]
x32 = p3[0] - p2[0]
y32 = p3[1] - p2[1]
相关问题
设计一个程序,将数组A【】的两段数据对调,两端数据的下标为p0,p1,p2,p3,
下面是一个简单的实现:
```python
def swap_array(A, p0, p1, p2, p3):
# 确保p0、p1、p2、p3是合法的下标
if p0 >= len(A) or p1 >= len(A) or p2 >= len(A) or p3 >= len(A):
return
# 确保p0、p1、p2、p3指定的两段数据不重叠
if min(p0, p1) < max(p2, p3) or min(p2, p3) < max(p0, p1):
return
# 交换两段数据
A[p0:p1+1], A[p2:p3+1] = A[p2:p3+1], A[p0:p1+1]
```
这个函数接受一个数组A和四个下标p0、p1、p2、p3,将A的[p0, p1]和[p2, p3]两段数据对调。注意,这个函数会检查p0、p1、p2、p3是否合法,以及两段数据是否重叠。如果有任何问题,函数将不做任何操作。
对于上述你给出的代码,只需考虑x坐标即可,请修改
好的,针对你给出的代码,只考虑x坐标的话,可以进行如下修改:
```python
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
def __str__(self):
return "({0}, {1})".format(self.x, self.y)
def __eq__(self, other):
return self.x == other.x
p1 = Point(1,2)
p2 = Point(3,4)
p3 = Point(1,6)
print(p1 == p2) # False
print(p1 == p3) # True
```
这样就只比较了两个点的x坐标是否相等了。