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
面向对象练习处理
'''
import math 
import math
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=pr*(x * y * z)

        s =math.pow(r,0.5)

        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()
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

韶光不负

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值