Python:类的继承实践之几何计算器 v1.0(入门级)

Python自学爬坑,小白起步练手项目。

在这里插入图片描述


class Shape(object):###定义一个形状类的模型
    ###功能性函数
    def shape_list(self):##定义输出列表函数
        print('XXX几何计算器\nv1.0')####输出计算器名称
        print('-' * 30)###下划线,老师定的
        print('1.       圆形○\n2.     正方形□\n3.       扇形⌔\n')##输出选项
        print('-'*30)###下划线again
    def run(self):###定义启动函数
        while True:###循环大法
            self.shape_list()####启动输出列表
            select = input('请输入图形编号,输入字母q退出:')##获取选项
            if select == '1':
                print('-'*30 + '\n圆形○\n'+ '-'*30)###输出
                radius = float(input('请输入圆形的半径:'))#获取输入,类型为浮点数
                shape_01 = Circle(radius)###将建立的形状的实例转化成一个圆形的实例####
                shape_01.circle_cal()#调用圆形面积计算函数
            elif select == '2':
                print('-' * 30 + '\n正方形□\n' + '-' * 30)##输出
                lenth = float(input('请输入正方形边长:'))#获取输入,类型为浮点数
                shape_01 = Square(lenth)###将建立的形状的实例对象转化成一个正方形的实例对象####
                shape_01.square_cal()#调用正方形面积计算函数
            elif select == '3':
                print('-' * 30 + '\n扇形⌔\n' + '-' * 30)###输出
                radius = float(input('请输入扇形半径:'))#获取输入,类型为浮点数
                angle = float(input('请输入扇形角度(°):'))#获取输入,类型为浮点数
                shape_01 = Sector(radius,angle)###将建立的形状的实例对象转化成一个扇形的实例对象####
                shape_01.sector_cal()#调用扇形面积计算函数
            elif select == 'q':####q为退出
                print('你是我患得患失的梦,我是你可有可无的人~')
                break
            else:
                print('\n       输入错误!莫挨老子!\n')
class Circle(Shape):##定义一个圆形子类
    ###属性模块
    def __init__(self,radius):##初始化属性 半径
        self.radius = radius#定义半径的属性值
    ###功能模块
    def circle_cal(self):##定义圆形面积计算函数功能模块
        import math##引入数学函数包
        cover_circle = math.pi * self.radius**2#圆形计算公式 πr²
        lenth_circle = 2*math.pi*self.radius###周长计算公式
        print(f"周长:%.3f\n面积:%.3f\n\n" % (lenth_circle ,cover_circle)+'-'*30)##输出周长和面积
class Square(Shape):##定义一个正方形子类
    def __init__(self,lenth):##定义正方形的初始化属性 边长
        self.lenth = lenth#边长的属性值
    def square_cal(self):##定义正方形面积计算函数
        cover_square = self.lenth **2##正方形面积计算S=a*a
        lenth_square = self.lenth * 4##正方形周长计算L =l*4
        print(f"周长:%.3f\n面积:%.3f\n\n" %(lenth_square,cover_square)+'-'*30)##输出周长和面积
class Sector(Shape):#建立形状子类扇形模型
    def __init__(self,radius,angle):##子类扇形模型的基本属性
        self.radius = radius#扇形的半径
        self.angle = angle#扇形的角度
        ####功能性函数
    def sector_cal(self):#扇形面积计算函数
        import  math##调用数学函数库
        cover_sector = self.angle/360*math.pi*self.radius**2 ##R是扇形半径,n是弧所对圆心角度数,π是圆周率,扇形面积为n/360×πr²
        length_sector = (2 + self.angle)*self.radius### 扇形周长=半径×2+弧长/弧长=半径×弧度
        print(f"周长:%.3f\n面积:%.3f\n\n" %(length_sector,cover_sector)+'-'*30)


shape_01 = Shape()##为启动整个程序,定义一个形状的实例对象
shape_01.run()####启动run()函数→带动整个程序

结构如下(然而并没有实际继承关系~~)

在这里插入图片描述

输出界面

在这里插入图片描述

**

就酱

**

发布了12 篇原创文章 · 获赞 22 · 访问量 3254

猜你喜欢

转载自blog.csdn.net/bosslay/article/details/88358641