Python objektorientierte Programmierpraxis Verarbeitung

Bevor ich es wusste, begann der Herausgeber mit dem zweiten objektorientierten Lernen von Inhalten, und ich verstand auch, wie wichtig es ist, ein Buch hundertmal zu lesen. Jeder Lehrer hat einen anderen Schwerpunkt. Erst nachdem ich meine Mängel entdeckt und fortgeschrittenere Techniken erlernen möchte, muss ich die Grundpraxis stärken.

1. Definieren Sie eine Kreisklasse und ermitteln Sie den Umfang und die Fläche des Kreises

'''
作者: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. Definieren Sie eine Dreiecksklasse (Attribut ist drei Seiten) und ermitteln Sie die Fläche und den Umfang des Dreiecks

'''
作者: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()

Fügen Sie hier eine Bildbeschreibung ein

3. Definieren Sie eine Rechteckklasse und ermitteln Sie den Umfang und die Fläche des Rechtecks

'''
作者: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()

Fügen Sie hier eine Bildbeschreibung ein

4. Vervollkommnen Sie den Stapel des Klassenzimmers

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, erfordert mehrere Operationen Excel Ihre eigenen Lernmodule (Wahlfach)
xlrd
openpyxl
xlwt
xlutils

https://blog.csdn.net/weixin_47514459/article/details/112336723

6. Implementieren Sie List and Stack über die Node-Klasse (Hinweis: optional)

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

Ich denke du magst

Origin blog.csdn.net/weixin_47514459/article/details/113264349
Empfohlen
Rangfolge