
浙大疏锦行类的定义和方法作业010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051importmathclassCircle:def__init__(self, radius1):self.radiusradiusdefcalculate_area(self):returnmath.pi*self.radius**2defcalculate_circumference(self):return2*math.pi*self.radiuscircleCircle(5)print(fRadius: {circle.radius})print(fArea: {circle.calculate_area()})print(fCircumference: {circle.calculate_circumference()})classRectangle:def__init__(self, width1, height1):self.widthwidthself.heightheightdefcalculate_area(self):returnself.width*self.heightdefcalculate_perimeter(self):return2*(self.widthself.height)defis_square(self):returnself.widthself.heightrectRectangle(4,6)print(fWidth: {rect.width}, Height: {rect.height})print(fArea: {rect.calculate_area()})print(fPerimeter: {rect.calculate_perimeter()})print(fIs square: {rect.is_square()})defcreate_shape(shape_type,*args):ifshape_typecircle:returnCircle(*args)elifshape_typerectangle:returnRectangle(*args)else:raiseValueError(Unknown shape type)# 测试 create_shape 函数shape1create_shape(circle,5)print(shape1.calculate_circumference())shape2create_shape(rectangle,4,6)print(shape2.is_square())