.编写一个函数 point_in_circle,接收一个 Circle 对象和一个 Point 对象,当 Point 位于圆内或圆边上时,返回为 True,否则返回 False。
时间: 2024-03-02 11:53:57 浏览: 20
好的,以下是 point_in_circle 函数的实现:
```python
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
class Circle:
def __init__(self, radius, center):
self.radius = radius
self.center = center
def point_in_circle(self, point):
distance = ((point.x - self.center.x) ** 2 + (point.y - self.center.y) ** 2) ** 0.5
return distance <= self.radius
```
函数接收一个 Circle 对象和一个 Point 对象作为参数。在函数内部,我们先计算出 Point 对象与 Circle 对象中心点之间的距离,然后判断该距离是否小于或等于 Circle 对象的半径,如果是,则表示 Point 在圆内或圆边上,返回 True;否则返回 False。
你可以这样使用该函数:
```python
c = Circle(5, Point(0, 0))
p1 = Point(3, 4)
p2 = Point(6, 8)
print(c.point_in_circle(p1)) # 输出 True
print(c.point_in_circle(p2)) # 输出 False
```
希望这能解决你的问题。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)