day17-面向对象作业

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

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

    class Dot:
        def __init__(self, x, y):
            self.x = x
            self.y = y
    
        def distance(self, other):
           return ((other.x - self.x)**2 + (other.y - self.y)**2)**0.5
    
    
    d1 = Dot(10, 20)
    d2 = Dot(10, 10)
    print(d1.distance(d2))
    
  3. 定义一个圆类,拥有属性:半径、圆心 拥有方法:求圆的周长和面积、判断当前圆和另一个圆是否外切

    class Circle:
        def __init__(self, r, x, y):
            self.r = r
            self.x = x
            self.y = y
    
        def perimeter(self):
            return 2*math.pi*self.r
    
        def area(self):
            return math.pi*(self.r**2) # 这里要导入math模块
    
        def exterior(self, other):
            if ((self.x - other.x)**2 + (self.y - other.y)**2)**0.5 == self.r + other.r:
                return print('这个两个圆外切')
            else:
                return print('这两个圆不外切')
    
    
    c1 = Circle(5, 10, 20)
    c2 = Circle(5, 10, 10)
    
    print(c1.perimeter())
    print(c1.area())
    c1.exterior(c2)
    
  4. 定义一个线段类,拥有属性:起点和终点, 拥有方法:获取线段的长度

    class Segment:
        def __init__(self, a, b):
            self.a = a
            self.b = b
    
        def length(self):
            return self.b - self.a
    
    
    s1 = Segment(10, 20)
    print(s1.length())
    
  5. 定义一个狗类和一个人类:

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

    class Dog:
        def __init__(self, name, sex, breed):
            self.n = name
            self.s = sex
            self.b = breed
    
        def cry(self):
            print(f'狗的名字是:{self.n},性别是:{self.s},品种是:{self.b}')
            print('叫唤')
    
    
    d1 = Dog('大黄', '公', '土狗')
    d1.cry()
    

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

    class Human:
        def __init__(self, name, ags, dog):
            self.name = name
            self.ags = ags
            self.dog = dog
    
        def walk(self):
            print(f'这个人的名字是:{self.name},年龄是:{self.ags},狗是:{self.dog}')
            print('遛狗')
    
    
    
    h1 = Human('小明', 18, '大黄')
    h1.walk()
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值