手机销售系统(类和对象)

class Phone(object):
    '''
    创建一个手机类,用于存储手机数据信息
    '''
    def __init__(self,name,price,number):
        '''
        :param name: 手机品牌
        :param price: 手机价位
        :param number: 手机库存
        '''
        self.name = name
        self.price = price
        self.number = number
phone1 = Phone(name='vivox9',price=2345,number=45)
phone2 = Phone(name='iphone5',price=2100,number=45)
phone3 = Phone(name='iphone6',price=3457,number=66)
phone4 = Phone(name='iphone7',price=3700,number=233)
phone5 = Phone(name='iphone8',price=6700,number=100)

class phoneshop(object):
    '''
    创建一个商店类,用于对手机执行增删改查的逻辑功能
    '''
    def __init__(self):
        '''
        创建一个列表用于存储手机信息,并将原有的手机信息添加进去
        '''
        self.phones=[]
        self.phones.append(phone1)
        self.phones.append(phone2)
        self.phones.append(phone3)
        self.phones.append(phone4)
        self.phones.append(phone5)
    def add(self):
        '''
        添加手机信息
        :return:None
        '''
        name=input('请输入你要添加手机的名称:')
        price=int(input('请输入添加手机的价格:'))
        number=int(input('请输入添加手机的库存:'))
        new_phone=Phone(name=name,price=price,number=number)
        self.phones.append(new_phone)
    def query_message(self):
        '''
        查看手机信息
        :return:None
        '''
        print('*    1,查看所有手机名称    *')
        print('*    2,根据手机序号查看手机信息    *')
        select = int(input('请输入您的选择:'))
        while select < 1 or select > 2:
            select = int(input('您的输入有误,请重新输入:'))
        if select == 1:
            for phone_message in self.phones:
                print(phone_message.name)
        if select == 2:
            for i,phone_message in enumerate(self.phones):
                print('%s 手机名称:%s 手机价格:%s 手机库存:%s'%(i+1,phone_message.name,phone_message.price,phone_message.number))
            index=int(input('请输入你要查看的手机序号:'))
            if self.phones==[]:
                print('暂时无货物信息,请稍后查询')
            else:
                while index<1 or index>len(self.phones):
                    index = int(input('输入有误,请重新输入你要查看的手机序号:'))
                print('%s 手机名称:%s  手机价格:%s  手机库存:%s'%(index,self.phones[index-1].name,self.phones[index-1].price,self.phones[index-1].number))
                print('*******a,购买**********')
                print('*******b,返回**********')
                select = input('请输入您的购物意向:')
                while select != 'a' and select != 'b':
                    select = input('您的输入有误,请重新输入:')
                if select == 'a':
                    number = int(self.phones[index-1].number) - 1
                    if number == 0:
                        del self.phones[index-1]
                    else:
                        print('购买成功,该品牌库存余量为:%s' % number)
                if select=='b':
                    print('返回')
    def del_message(self):
        '''
        移除手机信息
        :return:None
        '''
        print('********1,查看所有产品,根据序号移除*****')
        print('********2,移除所有产品******************')
        print('********3,返回**************************')
        select = int(input('请输入您的操作:'))
        while select < 1 or select > 3:
            select = int(input('您的输入有误,请重新输入您的操作:'))
        if select == 1:
            for i,phone_message in enumerate(self.phones):
                print('%s 手机名称:%s 手机价格:%s 手机库存:%s'%(i+1,phone_message.name,phone_message.price,phone_message.number))
            index=int(input('请输入你要移除的手机序号:'))
            if self.phones==[]:
                print('暂时无货物信息,请稍后查询')
            else:
                while index not in range (1,len(self.phones)):
                    index = int(input('输入有误,请重新输入你要移除的手机序号:'))
                del self.phones[index-1]
                print('移除成功')

        if select == 2:
            del self.phones[:]
        if select == 3:
            print('返回')


    def change_message(self):
        '''
        修改手机信息
        :return: None
        '''
        print('**********1,添加新产品*********')
        print('**********2,修改原有产品*******')
        select = int(input('请输入您的操作:'))
        while select < 1 or select > 2:
            select = int(input('您的输入有误,请重新输入您的操作:'))
        if select == 1:
            self.add()
        if select == 2:
            for i, phone_message in enumerate(self.phones):
                print('%s 手机名称:%s 手机价格:%s 手机库存:%s' % (
                i + 1, phone_message.name, phone_message.price, phone_message.number))
            index = int(input('请输入你要修改的手机序号:'))
            if self.phones == []:
                print('暂时无货物信息,请稍后查询')
            else:
                while index<1 or index>len(self.phones):
                    index = int(input('输入有误,请重新输入你要修改的手机序号:'))
                phone_message=self.phones[index-1]
                phone_message.name=input('请输入你要修改手机的名字:')
                phone_message.price=input('请输入你要修改手机的价格:')
                phone_message.number=input('请输入你要修改手机的库存:')
                for i, phone_message in enumerate(self.phones):
                    print('%s 手机名称:%s 手机价格:%s 手机库存:%s' % (
                        i + 1, phone_message.name, phone_message.price, phone_message.number))

    def main(self):
        '''
        定义逻辑循环框架
        :return:None
        '''
        while True:
            print('*********欢迎使用手机销售系统*********')
            print('*********1,查看所有手机品牌*********')
            print('*********2,更改产品库存信息*********')
            print('*********3,移除产品库存信息*********')
            print('*********4,退出程序*****************')
            select=int(input('请输入你的操作选项:'))
            while select<1 or select>4:
                select=int(input('您的输入超出范围,请重新输入:'))
            if select == 1:
                self.query_message()
            elif select==2:
                self.change_message()
            elif select==3:
                self.del_message()
            elif select==4:
                break

shop = phoneshop()
shop.main()

猜你喜欢

转载自blog.csdn.net/qq_42630844/article/details/81064770