Pythonオブジェクト指向プログラミングの練習処理

私がそれを知る前に、編集者は2番目のオブジェクト指向コンテンツ学習を開始しました。また、本を100回読むことの重要性も理解しました。教師ごとに焦点が異なります。自分の欠点を発見し、より高度なテクニックを学びたいと思って初めて、基本的な練習を強化する必要があります。

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.三角形のクラス(属性は3辺)を定義し、三角形の面積と周囲長を見つけます

'''
作者: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.教室のスタックを完成させる

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クラスを介してリストとスタックを実装します(注:オプション)

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

おすすめ

転載: blog.csdn.net/weixin_47514459/article/details/113264349