day17-面向对象作业

it2025-05-26  11

定义一个矩形类,拥有属性:长、宽 拥有方法:求周长、求面积 class Rectangle: def __init__(self, length, wide): self.length = length self.wide = wide def perimeter(self): return (self.length + self.wide) * 2 def area(self): return self.length * self.wide 定义一个二维点类,拥有属性:x坐标、y坐标 拥有方法:求当前点到另外一个点的距离 class Point: def __init__(self, x=0, y=0): self.x = x self.y = y def distance(self, other): return ((self.x - other.x) ** 2 + (self.y - other.y) ** 2) ** 0.5 定义一个圆类,拥有属性:半径、圆心 拥有方法:求圆的周长和面积、判断当前圆和另一个圆是否外切 import math class Point: def __init__(self, x1=0, y1=0): self.x = x1 self.y = y1 def distance(self, other): return ((self.x - other.x) ** 2 + (self.y - other.y) ** 2) ** 0.5 class Circle: def __init__(self, center_point, radius): self.center_point = center_point self.radius = radius def perimeter(self): return self.radius * math.pi * 2 def area(self): return self.radius ** 2 * math.pi def circumscribed_circle(self, other): if self.center_point.distance(other.center_point) == self.radius + other.radius: print('这两个圆互为外切圆') else: print('这两个圆不互为外切圆') 定义一个线段类,拥有属性:起点和终点, 拥有方法:获取线段的长度 class Point: def __init__(self, x=0, y=0): self.x = x self.y = y class Line: def __init__(self, start_point, end_point): self.start_point = start_point self.end_point = end_point def length(self): return ((self.end_point.x - self.start_point.x) ** 2 + (self.end_point.y - self.start_point.y) ** 2) ** 0.5

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

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

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

class Dog: def __init__(self, name, gender, breed): self.name = name self.gender = gender self.breed = breed def roar(self): return f'{self.name}发出了叫声' class Person: def __init__(self, name, age, dog): self.name = name self.age = age self.dog = dog def walk_dog(self): return f'{self.age}岁的{self.name}牵着一只{self.dog.gender}狗正在遛狗,小狗名叫{self.dog.name},是一只{self.dog.breed}'
最新回复(0)