DVD管理系统

  • #usr/bin/python
    #-*-coding:utf-8-*-
    '''
    ----DVD管理系统----:
    1.查询所有DVD
    2.增加DVD
    3.借出DVD
    4.归还DVD
    5.退出
    '''
    class dvd:
    
        def __init__(self,name,price,state):
            self.name=name;
            self.price=price
            self.state=state
    
        def __str__(self):
            stat='已借出';
            if self.state==1:
                stat='未借出'
            return  '名称:《%s》 单价:%d 状态:%s'%(self.name,self.price,stat)
    
    class DVDManager:
        #存储 多个dvds 每一个元素 都是一个DVD
        dvds=[]
        def init(self):
            self.dvds.append(dvd('光辉岁月',10,0));
            self.dvds.append(dvd('绅士', 5, 1));
            self.dvds.append(dvd('海阔天空', 11, 1));
    
        def Menu(self):
            self.init()
            while(True):
                print('1.查询所有DVD')
                print('2.增加DVD')
                print('3.借出DVD')
                print('4.归还DVD')
                print('5.退出')
                choose=int(input('请选择:'));
                if choose==1:
                    self.showAllDVD();
                elif choose==2:
                    self.insertDVD();
                elif choose==3:
                    self.jiechuDVD();
                elif choose==4:
                    self.rollBackDVD();
                elif choose==5:
                    print('5.谢谢使用')
                    break;
    
        def showAllDVD(self):
            for d in self.dvds:
                print(str(d))
        def jiechuDVD(self):
            name = input('请输入DVD的名称:')
            ret = self.checkDVD(name);
            if ret != None:
                if ret.state==0:
                    print('dvd 已经借出去了')
                    #return;
                else:
                    days=int(input('请输入借出天数:'))
                    ret.state = 0;
                    print('借出 %d 天,应还利息%d '%(days,ret.price*days))
    
            else:
                print('DVD 不存在!')
    
        def rollBackDVD(self):
            name = input('请输入归还DVD的名称:')
            ret = self.checkDVD(name);
            if ret == None:
                print('DVD 不存在!')
            else:
                if ret.state == 1:
                    print('dvd 未借出!')
                else:
                    days= int(input('请输入借出去了多少天?'))
                    y_money=ret.price * days
                    print('借出 %d 天,应还利息%d ' % (days, y_money))
                    money= int(input());
                    if money<y_money:
                        print('不够!')
                        return;
                    elif money>y_money:
                        print('找零:%d'%(money-y_money));
    
                    ret.state=1;
                    print('归还成功!')
    
        def insertDVD(self):
            name = input('请输入DVD的名称:')
            ret= self.checkDVD(name);
            if ret != None:
                print('DVD 已经存在!')
            else:
                price=int(input('请输入价格:'))
                new_dvd=dvd(name,price,1);
                self.dvds.append(new_dvd)
                print('存放成功!')
        def checkDVD(self,name):
             for d in self.dvds:
                 if d.name==name:
                     return d;#返回当前对象-->内存地址
             else:
                 return  None;
    
    manager= DVDManager();
    manager.Menu();

猜你喜欢

转载自my.oschina.net/u/3764483/blog/1615737