不知不觉小编开始第二遍面向对象内容学习,自己也了解书读百遍的重要性,每个老师的侧重点都不同。才发现自己的不足和想了解更高的技术,所以一定加强基础的练习。
1、定义一个圆类,求圆的周长和面积
'''
作者:lsf
time:2021.1.27
面向对象练习处理
'''
class Cirrle():
def __init__(self,r):
self.radius=r
return print("圆的半径为{}".format(r))
def perimeter(self,pai=3.14):
p=2*pai*self.radius
return print("圆的周长为{}".format(p))
def area(self,pai=3.14):
s=pai*(self.radius**2)
return print("圆的面积为{}".format(s))
if __name__ == '__main__':
a=Cirrle(4)
a.perimeter()
a.area()
2、定义一个三角形类(属性是三边),求三角形的面积和周长
'''
作者:lsf
time:2021.1.27
面向对象练习处理
'''
class Trigon():
def __init__(self,a,b,c):
self.a=a
self.b=b
self.c=c
def sense(self):
if self.a ==0 or self.b == 0 or self.c ==0 :
return print("三角形边长不能为0")
elif self.a + self.b < self.c or self.a - self.b > self.c :
return print("不能组成三角形")
else:
print("这是一个三角形")
def perimeter(self):
p=self.a+self.b+self.c
return print("三角形的周长为{}".format(p))
def area(self):
pr = (self.a + self.b + self.c)**1/2
x=pr-self.a
y=pr-self.b
z=pr-self.c
r=(x*y*z)**1/2
s=pr*r**1/2
return print("三角形的面积为{}".format(s))
if __name__ == '__main__':
a=Trigon(3,4,5)
a.sense()
a.perimeter()
a.area()
3、定义一个矩形类,求矩形的周长和面积
'''
作者:lsf
time:2021.1.27
面向对象练习处理
'''
class Orthogon():
def __init__(self,a,b):
self.a=a
self.b=b
def sense(self):
if self.a == 0 or self.b == 0 :
return print("矩形边长不能为0")
else:
print("可以组成矩形")
def perimeter(self):
p=(self.a+self.b)*2
return print("矩形的周长为{}".format(p))
def area(self):
s=self.b*self.a
return print("矩形的面积为{}".format(s))
if __name__ == '__main__':
a=Orthogon(4,5)
a.sense()
a.perimeter()
a.area()
4、完善课堂的Stack
class Stack(object):
def __init__(self):
self.data = []
self.top = 0
self.capactiy = 0
def push(self,name):
self.data.append(name)
self.capactiy += 1
def pop(self):
self.data.pop()
self.capactiy -=1
def isempty(self):
if self.capactiy == self.top:
return True
else:
return False
def clear(self):
self.data = []
self.capactiy = 0
def size(self):
return self.capactiy - self.top
def __str__(self):
return self.data
5、要求你们自己学习几个操作Excel模块(选修)
xlrd
openpyxl
xlwt
xlutils
https://blog.csdn.net/weixin_47514459/article/details/112336723
6、通过Node类实现List和Stack(注意:选做)
class Node():
def __init__(self,data):
self.data=data
self.next=None
def show(self):
print('node data=%d'%self.data)
def __str__(self):
return 'node data=%s'%self.data
class LinkList():
def __init__(self):
self.head=None
def insertFirst(self,data):
newNode = Node(data)#创建新节点
newNode.next=self.head
self.head = newNode
def deleteFirst(self):
tmpNode= self.head
self.head=self.head.next
return tmpNode
def travel(self):
currentNode = self.head
while currentNode is not None:
print(currentNode)
currentNode = currentNode.next
if __name__ == '__main__':
n1=Node('A')
n2=Node('B')
n3=Node('C')
link=LinkList()
link.insertFirst(n1)
link.insertFirst(n2)
link.insertFirst(n3)
link.travel()
link.deleteFirst()
link.deleteFirst()
link.deleteFirst()
link.travel()