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()函数→带动整个程序
结构如下(然而并没有实际继承关系~~)
输出界面
**
就酱
**