DVD management system

  • #usr/bin/python
    #-*-coding:utf-8-*-
    '''
    ----DVD Management System----:
    1. Query all DVDs
    2. Add DVD
    3. Lending DVDs
    4. Return the DVD
    5. Exit
    '''
    class dvd:
    
        def __init__(self,name,price,state):
            self.name=name;
            self.price=price
            self.state=state
    
        def __str__(self):
            stat='Loaned';
            if self.state==1:
                stat='Not loaned'
            return 'Name: "%s" Unit price: %d Status: %s'%(self.name,self.price,stat)
    
    class DVDManager:
        #Store multiple dvds Each element is a DVD
        dvds=[]
        def init(self):
            self.dvds.append(dvd('Glorious Years',10,0));
            self.dvds.append(dvd('Gentleman', 5, 1));
            self.dvds.append(dvd('Broad seas and sky', 11, 1));
    
        def Menu(self):
            self.init()
            while(True):
                print('1. Query all DVDs')
                print('2. Add DVD')
                print('3. Lend DVD')
                print('4. Return DVD')
                print('5. Exit')
                choose=int(input('Please choose:'));
                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. Thank you for using')
                    break;
    
        def showAllDVD(self):
            for d in self.dvds:
                print(str(d))
        def jiechuDVD(self):
            name = input('Please enter the name of the DVD:')
            ret = self.checkDVD(name);
            if ret != None:
                if ret.state==0:
                    print('dvd has been lent out')
                    #return;
                else:
                    days=int(input('Please enter the loan days:'))
                    ret.state = 0;
                    print('Lending %d days, interest %d '%(days,ret.price*days))
    
            else:
                print('DVD does not exist!')
    
        def rollBackDVD(self):
            name = input('Please enter the name of the returned DVD:')
            ret = self.checkDVD(name);
            if ret == None:
                print('DVD does not exist!')
            else:
                if ret.state == 1:
                    print('dvd not loaned!')
                else:
                    days= int(input('Please enter how many days have you borrowed?'))
                    y_money=ret.price * days
                    print('loan %d days, interest %d ' % (days, y_money))
                    money= int(input());
                    if money<y_money:
                        print('Not enough!')
                        return;
                    elif money>y_money:
                        print('Change: %d'%(money-y_money));
    
                    ret.state = 1;
                    print('Successful return!')
    
        def insertDVD(self):
            name = input('Please enter the name of the DVD:')
            ret= self.checkDVD(name);
            if ret != None:
                print('DVD already exists!')
            else:
                price=int(input('Please enter the price:'))
                new_dvd=dvd(name,price,1);
                self.dvds.append(new_dvd)
                print('Save successfully!')
        def checkDVD(self,name):
             for d in self.dvds:
                 if d.name==name:
                     return d;#return the current object --> memory address
             else:
                 return  None;
    
    manager= DVDManager();
    manager.Menu();

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325448740&siteId=291194637