12.27学习日志

1.学习笔记

   

1.  继承: 子类继承父类,子类可是使用父类的属性和方法,简化代码(封装,继承,多态是面向对象语言的三大特征)

a)   当生成子类对象时,先初始化父类对象,所以如果父类有__init__()方法,并且有属性时,要通过子类的构造赋值

b)   一个父类可以有多个子类

c)   在子类中,调用父类的属性时,在__init__()方法中使用父类.属性,或者self.属性

d)   调用父类方法时:super().父类方法()

e)   当子类继承父类时,子类的构造方法应该包含父类和子类共同属性,在子类的出世方法中,将父类的属性传递给父类,子类的属性赋值给子类

f)   方法重写:子类继承父类时,子类的方法签名和父类的一样,此时子类重写了父类的方法,当生成子类对象时,调用的是子类重写的方法

三代继承:子类的初始化方法需要祖父、父类及自己的属性,可以调用父类的初始化方法传参,可以重写父类的方法,构造的顺序依然是先构造祖父类、再构造父类,最后构造自己


2.课后练习

 

DVD管理系统练习

dvs = [{'state':'可借 ','name':'罗马假日','date':'','time':10},
       {'state':'可借 ','name':'浪漫满屋','date':'','time':15},
       {'state':'可借 ','name':'风声鹤唳','date':'','time':2}]


def add():             #新增DVD的方法
    if len(dvs)>=4:       #判断货架上的DVD数量有没有超过4
        print('货架已满,无法新增DVD!')
    else:
        new = input('请输入DVD名称:')
        for i in dvs:
            if i['name']== new:         #判断货架上的与增加的是否一样
                print('货架上已有该DVD')
                break
        else:
            dvs.append({'state':'可借 ','name':new,'date':'','time':0})
            print('添加成功!')


def check():           #查看DVD的方法
    print('序号\t状态 \t名称   \t借出日期\t借出次数\t')
    for i in dvs:
        print('{0}\t{1}\t《{2}》\t{3}\t{4}\t'.format((dvs.index(i)+1),i['state']
            ,i['name'],i['date'],i['time']))


def remove():                   #删除DVD的方法
    if len(dvs)==0:             #判断货架上有没有DVD
        print('货架上已经没有任何DVD!')
    else:
        new = input('请输入DVD名称:')
        for i in dvs:
            if i['name']== new:               #判断货架上有没有需要删除的DVD
                if i['state']=='可借 ':        #判断DVD是否已经借出
                    del dvs[dvs.index(i)]
                    print('删除成功!')
                    break
                else:
                    print('无法删除,你要删除的DVD已经借出!')
        else:
            print('货架上没有此DVD!')


def borrow():                   #借出DVD的方法
    if len(dvs)==0:             #判断货架上有没有DVD
        print('货架上已经没有任何DVD!')
    else:
        new = input('请输入DVD名称:')
        for i in dvs:
            if i['name']== new:         #判断货架上有没有需要删除的DVD
                if i['state']=='可借 ':    #判断DVD有没有被借出
                    i['date'] = input('请输入借出时间:')
                    i['time'] += 1
                    i['state'] = '已借出'
                    break
                else:
                    print('%s已被借出!'%(i['name']))
                    break
        else:
            print('货架上没有此DVD!')


def back():                   #借出DVD的方法
    new = input('请输入DVD名称:')
    for i in dvs:
        if i['name']== new:         #判断货架上有没有归还的DVD
            if i['state']=='可借 ':    #判断DVD有没有被借出
                print('此DVD未被借出!')
                break
            else:
                i['state'] = '可借 '
                temp = input('请输入归还日期:')
                print('\n借出日期为:%s日'%i['date'])
                print('归还日期为:%s日'%temp)
                print('应付租金:%d'%(int(temp)-int(i['date'])))
                i['date'] = ''
                break
    else:
        print('货架上没有此DVD!')
def main():
    while True:
        print('欢迎使用DVD管理系统')
        print('-'*30)
        print('1.新增DVD')
        print('2.查看DVD')
        print('3.删除DVD')
        print('4.借出DVD')
        print('5.归还DVD')
        print('6.退出DVD')
        print('-'*30)
        while True:
            temp = input('请选择:')
            if temp =='0':
                break
            elif temp =='1':
                add()
                print('*'*30)
                print('输入0返回')
            elif temp =='2':
                check()
                print('*'*30)
                print('输入0返回')
            elif temp =='3':
                remove()
                print('*'*30)
                print('输入0返回')
            elif temp =='4':
                borrow()
                print('*'*30)
                print('输入0返回')
            elif temp =='5':
                back()
                print('*'*30)
                print('输入0返回')
            elif temp =='6':
                return 0
main()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值