class graph (object):
'''
定义图形类
'''
def _init_(self,area=0,perimeter=0):
'''
给图形增添属性,并设置初始值
:param area:面积
:param perimeter: 周长
:return:None
'''
self.area=area
self.perimeter=perimeter
def main(self):
'''
整体逻辑循环框架
:return:None
'''
while True:
circle=Circle()
sector=Sector()
square=Square()
rectangle= Rectangle()
triangle=Triangle()
print('------智游几何计算器------')
print('----------V0.1------------')
print('请选择几何图形:')
print('=====================================')
print('1 圆形')
print('2 扇形')
print('3 正方形')
print('4 矩形')
print('5 三角形')
print('--------------------------------------')
print()
select=input('请输入图形编号(退出请按q):')
if select=='q':
break
while select<'1' or select>'5':
select = int(input('输入有误,请重新输入(退出请按q):'))
if select=='1':
print('-----------------------------------')
print('圆形')
print('-----------------------------------')
circle.cir_cal()
print()
if select=='2':
print('-----------------------------------')
print('扇形')
print('-----------------------------------')
sector.sector_cal()
print()
if select=='3':
print('-----------------------------------')
print('正方形')
print('-----------------------------------')
square.square_cal()
print()
if select=='4':
print('-----------------------------------')
print('矩形')
print('-----------------------------------')
rectangle.rectangle_cal()
print()
if select=='5':
print('-----------------------------------')
print('三角形')
print('-----------------------------------')
triangle.triangle_cal()
print()
class Circle(graph):
'''
定义圆形类,继承图形类
'''
def _init_(self,radius=0):
'''
继承后在原来基础上增添半径属性,并设置初始值为0
:param radius: 半径
:return:None
'''
self.radius=radius
def cir_cal(self):
'''
圆形运算功能函数
:return: None
'''
self.radius=int(input('请输入半径:'))
print('------------------------------------')
perimeter=2*3.14*self.radius
print('周长:%s'%perimeter)
area=3.14*self.radius*self.radius
print('面积:%s'%area)
class Sector(Circle):
'''
定义扇形类,继承圆形类对象属性
'''
def _init_(self, angle=0):
'''
在继承圆形类属性的基础上增添圆心角属性,并设置初始值
:param angle: 圆心角
:return: None
'''
self.angle=angle
def sector_cal(self):
'''
扇形运算功能函数
:return:None
'''
self.radius=int(input('请输入半径:'))
self.angle=int(input('请输入圆心角(单位:度):'))
area=3.14/360*self.angle**self.radius
perimeter =self.angle*3.14*self.radius/180+2*self.radius
print('周长:%s' % perimeter)
print('面积:%s' % area)
class Square(graph):
'''
定义正方形类,继承图形类属性
'''
def _init_(self,length=0):
'''
在继承图形类属性的基础上增添边长属性,并设置初始值
:param length:边长
:return:None
'''
self.length=length
def square_cal(self):
'''
正方形运算功能函数
:return:None
'''
self.length=int(input('请输入边长:'))
area =self.length*self.length
perimeter =self.length*4
print('周长:%s' % perimeter)
print('面积:%s' % area)
class Rectangle(Square):
'''
定义矩形类,继承正方形类属性
'''
def _init_(self,high=0):
self.high=high
def rectangle_cal(self):
self.length = int(input('请输入边长:'))
self.high = int(input('请输入高:'))
area =self.length*self.high
perimeter =self.high*2+self.length*2
print('周长:%s' % perimeter)
print('面积:%s' % area)
class Triangle(Rectangle):
def _init_(self,length1=0,length2=0):
self.length1=length1
self.length2=length2
def triangle_cal(self):
self.length = int(input('请输入第一条边长:'))
self.high = int(input('请输入第一条边长上的高:'))
self.length1 = int(input('请输入第二条边长:'))
self.length2 = int(input('请输入第三条边长:'))
area=self.length*self.high
perimeter =self.length+self.length1+self.length2
print('周长:%s' % perimeter)
print('面积:%s' % area)
operation=graph()
operation.main()
几何计算器(类和对象,类的继承)
猜你喜欢
转载自blog.csdn.net/qq_42630844/article/details/81080653
今日推荐
周排行