-
定义一个矩形类,拥有属性:长、宽 拥有方法:求周长、求面积
class Rectangle: def __init__(self, length, width): self.length = length self.width = width def perimeter(self): return (self.width + self.length) * 2 def area(self): return self.width * self.length a1 = Rectangle(2, 3) print(a1.perimeter()) print(a1.area())
-
定义一个二维点类,拥有属性:x坐标、y坐标 拥有方法:求当前点到另外一个点的距离
class DimensionalPoint: def __init__(self, x1_coordinate, y1_coordinate, x2_coordinate, y2_coordinate): self.x1_coordinate = x1_coordinate self.y1_coordinate = y1_coordinate self.x2_coordinate = x2_coordinate self.y2_coordinate = y2_coordinate def distance(self): return ((self.x1_coordinate - self.x2_coordinate) ** 2 + (self.y1_coordinate - self.y2_coordinate) ** 2) ** 0.5 a1 = eval(input('请输入第一个点的坐标:')) a2 = eval(input('请输入第二个点的坐标:')) b1 = DimensionalPoint(a1[0], a1[1], a2[0], a2[1]) print('两点的距离为:%.2f' % (b1.distance()))
-
定义一个圆类,拥有属性:半径、圆心 拥有方法:求圆的周长和面积、判断当前圆和另一个圆是否外切
class Round: pi = 3.1415926 def __init__(self, round1_r, round1_center): self.round1_r = round1_r self.round1_center = round1_center def perimeter(self): return self.round1_r * Round.pi * 2 def area(self): return Round.pi * self.round1_r ** 2 def is_ExternalCutting(self, round2_r, round2_center): return (round2_center[0] - self.round1_center[0]) ** 2 + (round2_center[1] - self.round1_center[1]) ** 2 == ( round2_r + self.round1_r) ** 2 round1_r = int(input('请输入第一个圆的半径:')) round1_center = eval(input('请输入第一个圆的圆心:')) round2_r = int(input('请输入第二个圆的半径:')) round2_center = eval(input('请输入第二个圆的圆心:')) a1 = Round(round1_r, round1_center) print('圆的周长为:%.2f' % a1.perimeter()) print('圆的面积为:%.2f' % a1.area()) print('两圆是否外切:', a1.is_ExternalCutting(round2_r, round2_center))
-
定义一个线段类,拥有属性:起点和终点, 拥有方法:获取线段的长度
class LineSegment: def length(self, start_point, end_point): return ((start_point[0] - end_point[0]) ** 2 + (start_point[1] - end_point[1]) ** 2) ** 0.5 start_point = eval(input('请输入起点:')) end_point = eval(input('请输入终点:')) a1 = LineSegment() print('线段的长度:%.2f' % a1.length(start_point, end_point))
day15-面向对象作业2
最新推荐文章于 2024-07-27 17:39:19 发布