# class Person: # def __init__(self, name, ad, hp): # self.name = name # self.ad = ad # self.hp = hp # # def attack(self, p): # p.hp -= self.ad # print("%s 打了%s,%s掉了%s的血,还剩下%s的血" %(self.name, p.name, p.name, self.ad, p.hp)) # # def aragment_weapon(self, wea): # self.wea = wea # self.ad += wea.ad # # def add_moto(self, moto): # self.moto = moto # self.ad += moto.ad # # def road_rush(self, p1): # p1.hp = p1.hp - self.ad # print("%s骑着%s打了骑着%s的%s,%s哭了,还剩下%s的血" %(self.name, self.moto.name, p1.moto.name, p1.name, p1.name, p1.hp)) # # # # class Weapon: # def __init__(self, name, ad): # self.name = name # self.ad =ad # # def fight(self, p1, p2): # p2.hp -= (self.ad + p1.ad) # # print("%s利用了%s打了%s--%s%s还剩下%s的血" %(p1.name, self.name, p2.name,self.name, p2.name, p2.hp)) # print("{0}利用了{1}打了{2}--{1},{2}还剩下{3}的血".format(p1.name, self.name, p2.name,p2.hp)) # # # class Moto: # def __init__(self,name,ad): # self.name = name # self.ad = ad # # m1 = Moto("宝马", 10) # m2 = Moto("自行车", 5) # # js = Person("剑圣", 50, 200) # gl = Person("盖伦", 20, 300) # yx = Weapon("樱雪", 20) # sj = Weapon("圣剑", 10) # # # gl.attack(js) # # gl.attack(js) # # js.attack(gl) # # js.attack(gl) # # js.attack(gl) # js.aragment_weapon(yx) # 组合,给js对象封装了一个属性,属性值为yx这个对象 # js.aragment_weapon(sj) # js.add_moto(m1) # gl.add_moto(m2) # # js.wea.fight(js, gl) # print(js.ad) # js.road_rush(gl) # gl.aragment_weapon(sj) # # gl.wea.fight(gl,js) from math import pi class Circular: def __init__(self,r): self.r = r def perimeter(self): return round(2 * pi * self.r, 2) def area(self): return round(pi * self.r ** 2, 2) c1 = Circular(2) print(c1.area()) print(c1.perimeter()) # # class Ring: # def __init__(self,r1,r2): # self.r1 = r1 # self.r2 = r2 # # def perimeter(self): # return round(2 * pi * (self.r1-self.r2), 2) # # def area(self): # return round(pi * self.r1 ** 2 - pi * self.r2 ** 2, 2) # # r1 = Ring(6,3) # print(r1.perimeter()) # print(r1.area()) # # 组合 class Ring: def __init__(self,r1,r2):s self.r1 = Circular(r1) self.r2 = Circular(r2) def area(self): return self.r1.area() - self.r2.area() def perimeter(self): return self.r1.perimeter() - self.r2.perimeter() r1 = Ring(6,3) print(r1.perimeter()) print(r1.area())