Day 14 - 面向对象1习题

it2025-03-26  9

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

class Rectangle: def __init__(self, lenght=0, weight=0): self.lenght = lenght self.weight = weight def perimeter(self): print('矩形的周长为:', (self.lenght + self.weight) << 1) def area(self): print('矩形的面积为:', self.lenght * self.weight) r = Rectangle(3, 4) r.perimeter() r.area()

定义一个二维点类,拥有属性:x坐标、y坐标 拥有方法:求当前点到另外一个点的距离

import math class Point: def __init__(self, x=0, y=0): self.x = x self.y = y def distance(self, other): removing = math.hypot(self.x-other.x, self.y-other.y) print('两点之间的距离为:', removing) p1 = Point(10, 20) p2 = Point(7, 24) p2.distance(p1)

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

class Round: def __init__(self, r, x=0, y=0): self.x = x self.y = y self.radius = r def perimeter(self): print('圆的周长为:', (self.radius << 1) * math.pi) def area(self): print('圆的面积为:', math.pow(self.radius, 2) * math.pi) def outside(self, other): distancec = math.hypot(self.x-other.x, self.y-other.y) if distancec == self.radius + other.radius: print('外切') else: print('不外切') o1 = Round(3) o2 = Round(y=4,r=1) o3 = Round(x=6,r=2) o1.perimeter() o2.area() o1.outside(o2) o1.outside(o3)

定义一个线段类,拥有属性:起点和终点, 拥有方法:获取线段的长度

class Line: def __init__(self, A, B): self.starting = A self.ending = B def lenght(self): print('线段长度为:', math.hypot(self.starting.x-self.ending.x, self.starting.y-self.ending.y)) l = Line(p1, p2) l.lenght()

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

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

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

class Dog: def __init__(self, name, sex, variety): self.name = name self.sex = sex self.variety = variety def barking(self): print(f'名叫{self.name}的{self.sex}{self.variety}会Wang!Wang!Wang!叫的狗') d1 = Dog('baty', '雄性', '哈士奇') d1.barking() class Person: def __init__(self, name, age, dog): self.name = name self.age = age self.dog = dog def walk_dog(self): print(f'今年{self.age}岁的{self.name}在溜他', end='') self.dog.barking() p1 = Person('小明', 19, d1) p1.walk_dog()
最新回复(0)