day17-面向对象作业

it2025-02-28  26

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

class Rectangular: def __init__(self,x,y): self.long=x self.width=y def calculate(self): L = (self.long + self.width)*2 S = self.long * self.width return L ,S p1 = Rectangular(10,10) print(p1.calculate()) #(40, 100)

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

class Point: def __init__(self,n=0,m=0): self.x = n self.y = m def distance(self, other): return ((self.x - other.x) ** 2 + (self.y - other.y ** 2)) ** 0.5 p1 = Point(4,6) p2=Point(5,7) re = p1.distance(p2) print(re)

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

class Round: def __init__(self,r,x,y): self.r = r self.x = x self.y = y def calculate(self,other): L = 2*self.r*3.14 S = 3.14*(self.r)**2 if ((self.x - other.x) ** 2 + (self.y - other.y ** 2)) ** 0.5 == self.r+other.r: D = '外切' else: D ='不外切' return L,S,D p1= Round(2,1,1) p2 = Round(3,1,1) re = p1.calculate(p2) print(re)

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

class Line: def __init__(self,x,y,a,b): self.x = x self.y = y self.a = a self.b = b def len1(self): return ((self.x - self.a) ** 2 + (self.y - self.b ** 2)) ** 0.5 p1 = Line(4,2,6,3) re = p1.len1() print(re)

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

class Dog: def __init__(self,name,sex,varieties): self.name = name self.sex = sex self.varteties = varieties def call(self): return f'{self.name}金叫唤' class Person: def __init__(self,name,age,dog=None): self.name = name self.age = age self.dog = dog def walk(self): if self.dog: print(f'{self.name}在疯狂遛{self.dog.name}') p1 = Dog('来福','公','泰迪') print(p1.call()) p2 = Person('小明',18,p1) p2.walk()

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

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

最新回复(0)