问题分析:
–1-- 分析:
- 一个类: 圆类:Circle
- 属性:(1)圆心点:cp (2)半径:radius
–2-- 方法:
- 求圆面积
- 求圆周长
- 求指定点与圆的关系(圆内,圆外,圆上)
–3-- 数学公式:
- 面积:S=pi*r^2
- 周长:C=2rpi
- 点&圆关系:指定点与圆心点之间的距离 和 圆的半径的比较
实现代码:
import math
class Pointer(object):
def __init__(self, x, y):
self.x = x
self.y = y
class Circle(object):
def __init__(self, cp, radius):
self.cp = cp
self.radius = radius
def get_area(self):
print('圆的面积:')
return self.radius ** 2 * math.pi
def get_length(self):
print('圆的周长:')
return self.radius * 2 * math.pi
def relationship(self, point):
distance = (point.x - self.cp.x) ** 2 + (point.y - self.cp.y) ** 2
if distance > self.radius ** 2:
print('指定点在圆外')
elif distance < self.radius ** 2:
print('指定点在圆内')
else:
print('指定点在圆上')
p = Pointer(3, 4)
c = Circle(p, 5)
print(c.get_area())
print(c.get_length())
p1= Pointer(10,10)
c.relationship(p1)
p2= Pointer(2,2)
c.relationship(p2)
p3 = Pointer(0,0)
c.relationship(p3)
运行结果:
圆的面积:
78.53981633974483
圆的周长:
31.41592653589793
指定点在圆外
指定点在圆内
指定点在圆上
okkk搞定啦(▽)!加油。