day17-面向对象作业

  1. 定义一个矩形类,拥有属性:长、宽 拥有方法:求周长、求面积

  2. class Rectangle:
        def __init__(self, a, b):
            self.a = a
            self.b = b
        def area(self):
            return self.a * self.b
        def perimeter(self):
            return 2 * (self.a + self.b)
    r1 = Rectangle(20, 30)
    result1 = r1.area()
    result2 = r1.perimeter()
    print(f'面积{result1}', f'周长{result2}')
    
  3. 定义一个二维点类,拥有属性:x坐标、y坐标 拥有方法:求当前点到另外一个点的距离

  4. 定义一个圆类,拥有属性:半径、圆心 拥有方法:求圆的周长和面积、判断当前圆和另一个圆是否外切

    class Garden:
        m = 3.14
        def __init__(self, x=0, y=0, r=5):
            self.x = x
            self.y = y
            self.r = r
        def perimeter(self):
            return 2 * Garden.m * self.r
        def area(self):
            return Garden.m * self.r ** 2
        def cutting(self, self2):
            if (self.r + self2.r) == ((self.x - self2.x) ** 2 + (self.y - self2.y) ** 2) ** 0.5:
                print('外切')
    r1 = Garden()
    r2 = Garden(6, 8)
    result1 = r1.perimeter()
    result2 = r1.area()
    result3 = r2.cutting(r2)
    print(result1, result2, result3)
    
  5. 定义一个线段类,拥有属性:起点和终点, 拥有方法:获取线段的长度

  6. 定义一个狗类和一个人类:

    狗拥有属性:姓名、性别和品种 拥有方法:叫唤

    人类拥有属性:姓名、年龄、狗 拥有方法:遛狗

你可能感兴趣的:(python)