4.24部落格

张佳木發表於2024-06-16

python學習

import math

class Shape:

def cal_perimeter(self):
 
    pass
 
def cal_area(self):
 
    pass
 
def cal_volume(self):
 
    pass

class Point(Shape):

def \__init_\_(self,x=0,y=0):
 
    self.x = x
 
    self.y = y
 
def setX(self,x):
 
    self.x = x
 
def setY(self,y):
 
    self.y = y
 
def getX(self):
 
    return self.x
 
def getY(self):
 
    return self.y
 
def display(self):
 
    print('({}'.format(self.x)+',{})'.format(self.y))

class Circle(Point):

def \__init_\_(self,r):
 
    Point.\__init_\_(self,x=0,y=0)
 
    self.r = r
 
def setR(self,r):
 
    self.r = r
 
def getR(self):
 
    return self.r
 
def cal_perimeter(self):
 
    perimeter=round(2\*3.14\*self.r,2)
 
    return perimeter
 
def cal_area(self):
 
    area=round(3.14\*self.r\*\*2,2)
 
    return area
 
def display(self):
 
    print('圓的周長:',self.cal_perimeter())
 
    print('圓的面積:',self.cal_area())

class Ball(Circle):

def \__init_\_(self,r):
 
    Circle.\__init_\_(self,r=10)
 
def cal_volume(self):
 
    perimeter=round((4/3)\*3.14\*(self.r\*\*3),2)
 
    return perimeter
 
def cal_area(self):
 
    area=round(3.14\*self.r\*\*2\*4,2)
 
    return area
 
def display(self):
 
    print('球的體積:',self.cal_volume())
 
    print('球的面積:',self.cal_area())

class Circular(Circle):

def \__init_\_(self,r,h):
 
    Circle.\__init_\_(self,r=10)
 
    self.h = h
 
def cal_volume(self):
 
    perimeter=round(3.14\*(self.r\*\*2)\*self.h,2)
 
    return perimeter
 
def cal_area(self):
 
    area=round(3.14\*2\*self.r\*self.h+2\*3.14\*self.r\*\*2,2)
 
    return area
 
def display(self):
 
    print('圓柱的體積:',self.cal_volume())
 
    print('圓柱的面積:',self.cal_area())

class CircularCone(Circle):

def \__init_\_(self,r,h):
 
    Circle.\__init_\_(self,r=10)
 
    self.h = h
 
def cal_volume(self):
 
    perimeter=round((1/3)\*3.14\*(self.r\*\*2)\*self.h,2)
 
    return perimeter
 
def cal_area(self):
 
    area=round(3.14\*self.r\*(self.r+math.sqrt(self.r\*\*2+self.h\*\*2)),2)
 
    return area
 
def display(self):
 
    print('圓錐的體積:',self.cal_volume())
 
    print('圓錐的面積:',self.cal_area())

p = Point(10,5)

p.display()

c = Circle(10)

c.display()

r = float(input("請輸入球體半徑:"))

b = Ball(r)

b.display()

r = float(input("請輸入圓柱底面半徑:"))

h = float(input("請輸入圓柱的高:"))

cc = Circular(r,h)

cc.display()

r = float(input("請輸入圓錐底面半徑:"))

h = float(input("請輸入圓錐的高:"))

cn = CircularCone(r,h)

cn.display()