.编写一个函数 point_in_circle,接收一个 Circle 对象和一个 Point 对象,当 Point 位于圆内或圆边上时,返回为 True,否则返回 False。
时间: 2024-03-25 07:41:35 浏览: 65
可以使用以下代码实现该函数:
```python
from math import sqrt
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
class Circle:
def __init__(self, center, radius):
self.center = center
self.radius = radius
def point_in_circle(circle, point):
# 计算点到圆心的距离
distance = sqrt((point.x - circle.center.x) ** 2 + (point.y - circle.center.y) ** 2)
# 判断点是否在圆内或圆边上
if distance <= circle.radius:
return True
else:
return False
```
在这个示例代码中,我们首先定义了一个 `Point` 类和一个 `Circle` 类,分别表示一个点和一个圆。然后,我们定义了一个 `point_in_circle` 函数,接收一个 `Circle` 对象和一个 `Point` 对象作为参数,判断该点是否在圆内或圆边上。
具体实现中,我们使用了勾股定理计算点到圆心的距离,然后判断该距离是否小于等于圆的半径。如果是,则返回 True,表示点在圆内或圆边上;否则返回 False,表示点不在圆内或圆边上。
阅读全文