day17-面向对象作业

it2025-03-02  25

# 1. 定义一个矩形类,拥有属性:长、宽 拥有方法:求周长、求面积 class rect(): def __init__(self, x, y): self.x = x self.y = y def perimeter(self): l = (self.x + self.y)*4 return f'"周长:{l}"' def acreage(self): s = self.x * self.y return f'"面积:{s}"' a1 = rect(5, 6) print(a1.perimeter()) print(a1.acreage()) # 2. 定义一个二维点类,拥有属性:x坐标、y坐标 拥有方法:求当前点到另外一个点的距离 class Point(): def dot(self, x, y): self.x = x self.y = y def distance(self, other): d = ((self.x - other.x)**2 + (self.y - other.y)**2)**0.5 return f'两点之间距离:{d}' d1 = Point() d2 = Point() d1.dot(4, 5) d2.dot(5, 6) print(d1.distance(d2)) # 3. 定义一个圆类,拥有属性:半径、圆心 拥有方法:求圆的周长和面积、判断当前圆和另一个圆是否外切 import math class Circle(): def __init__(self, r, x, y): self.r = r self.x = x self.y = y def perimeter(self): l = 2 * self.r * math.pi return f'"圆的周长:{l}"' def acreage(self): s = self.r * math.pi**2 return f'"圆的面积:{s}"' def exterior(self, other): if ((self.x - other.x)**2 + (self.y - other.y)**2)**0.5 == self.r + other.r: return "两圆外切" return "圆不外切" c1 = Circle(2, 0, 0) c2 = Circle(2, 4, 0) print(c1.exterior(c2)) # 4. 定义一个线段类,拥有属性:起点和终点, 拥有方法:获取线段的长度 class Line(): def __init__(self, b, f): self.b = b self.f = f def length(self): l = self.f - self.b return f'线段长度为:{l}' l1 = Line(1, 6) print(l1.length()) # 5. 定义一个狗类和一个人类: # 狗拥有属性:姓名、性别和品种 拥有方法:叫唤; # 人类拥有属性:姓名、年龄、狗 拥有方法:遛狗。 class Human(): def __init__(self, name, age, dog): self.name = name self.age = age self.dog = dog def walk_dog(self): return '遛狗' class Dog(): def __init__(self, name, gender, kind): self.name = name self.gender = gender self.kind = kind def call_out(self): return '叫唤'
最新回复(0)