python面向对象编程练习处理

不知不觉小编开始第二遍面向对象内容学习,自己也了解书读百遍的重要性,每个老师的侧重点都不同。才发现自己的不足和想了解更高的技术,所以一定加强基础的练习。

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()

python面向对象编程练习处理_第1张图片

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()

你可能感兴趣的:(python练习,python)