Python控制台程序——手机销售系统

引言    

    一个控制台手机销售系统,来测试python在非面向对象编程时的表现,python的强制缩进是天然的代码排版机制。

    我这里对文件进行操作时,需要自己创建这个文件,因为在运行的时候,给列表进行负值时是读取的操作

 没有写注释,都是简易的逻辑

实现

冗长的代码没有什么实际的参考意义,作为练手的小程序,能对python基础进行巩固


def add_phone():
    name = input('请输入产品名称:')
    price = input('请输入产品单价:')
    sum = input('请输入库存数量:')
    phone = [name, price, sum]
    phone_list.append(phone)
    print('******添加成功******')


def query_phone(sign=0):
    # sign=0时查询全部,1时查询第一列,2则根据序号进行查询
    if sign == 0:
        print('**********产品信息列表***********')
        for x in range(0, len(phone_list)):
            phone = phone_list[x]
            name = phone[0]
            age = phone[1]
            phone = phone[2]
            print('序号:%s 产品名称:%s 产品单价:%s 库存量:%s' % (x, name, age,
                                                  phone))
    elif sign==1:
        for x in range(0, len(phone_list)):
            phone = phone_list[x]
            name = phone[0]
            print('序号:%s 产品名称:%s ' %(x, name))
    elif sign==2:
        phone_num=int(input('请输入编号'))
        for x in range(0, len(phone_list)):
            if(x==phone_num):
                print('序号:%s 产品名称:%s 产品单价:%s 库存量:%s' % (
                x, phone_list[x][0], phone_list[x][1],
                phone_list[x][2]))

def update_phone(sign='sum'):
    if len(phone_list) == 0:
        print('没有产品信息,无法进行修改操作!')
        return
    if sign=='sum':

        num = int(input('请选择要修改的产品序号:'))
        while num not in range(0, len(phone_list)):
            num = input('没有该序号,请重选:')
            num = int(num)
        phone = phone_list[num]
        new_name = input('请输入修改后的产品名称(%s):'%phone[0])
        new_price  = input('请输入修改后的产品单价(%s):'%phone[1])
        new_sum = input('请输入修改后的库存量(%s):'%phone[2])
        phone[0] = new_name
        phone[1] = new_price
        phone[2] = new_sum
        print('----修改数据完成----')
    else:
        phone = phone_list[sign]
        phone[2] = str(int(phone[2])-1)
        if(int(phone[2])==0):
            del phone_list[sign]
        print('----购买完成----')


def delete_student(sign='sum'):

    if len(phone_list) == 0:
        print('没有产品信息,无法执行删除操作!')
        return
    # 确认删除
    if sign == 'sum':
        rs = input('确定要删除所有信息?y(确定)/n(取消):')
        if rs == 'y':
            # 删除列表中的所有的数据
            phone_list.clear()
        else:
            print('删除数据操作已取消!')
    else:
        query_phone()
        index=int(input('请输入要删除的产品序号'))
        while index not in range(0, len(phone_list)):
            index = int(input('没有该序号,请重选:'))
        # 删除指定索引的数据
        del phone_list[index]

def save_data():
    file_handle=open(file_name,mode='w')
    for student in phone_list:
        for stu_info in student:
            file_handle.write(stu_info)
            file_handle.write(' ')
        file_handle.write('\n')
def read_data():
    file_handle=open(file_name)
    contents=file_handle.readlines()
    phone_list=[]
    for stu_info in contents:
        stu_info=stu_info.strip('\n')
        list_1=stu_info.split(' ')
        list_1.pop()
        phone_list.append(list_1)
    file_handle.close()
    return phone_list

file_name='1.txt'
phone_list=read_data()
print(phone_list)

while 1:
    print('------------------------------')
    print('1.查看所有信息品牌')
    print('2.更改产品库存信息')
    print('3.移除产品库存信息')
    print('4.退出')
    print('------------------------------')
    sign=int(input('请输入选项:'))
    if sign==1:
        query_phone(1)
        while 1:
            print('1.选择产品序号查看详情')
            print('2.返回上一级')
            sign1=int(input('请输入选项:'))
            if sign1==1:
                query_phone(2)
                while 1:
                    print('1.购买')
                    print('2.返回上一级')
                    sign2=int(input('请输入选项:'))
                    if sign2==1:
                        update_phone(1)
                        save_data()
                    elif sign2==2:
                        break
                    else:
                        print('没有该选项')
            elif sign1==2:
                    break
            else:
                print('没有该选项')
    elif sign==2:
        while 1:
            print('1.添加新产品')
            print('2.修改已有产品')
            print('3.返回上一级')
            sign3=int(input('请输入选项:'))
            if sign3==1:
                add_phone()
                save_data()
            elif sign3==2:
                query_phone()
                while 1:
                    print('1.根据选择序号进行修改')
                    print('2.返回上一级')
                    sign4=int(input('请输入选项:'))
                    if sign4==1:
                        update_phone()
                        save_data()
                    elif sign4==2:
                        break
                    else:
                        print('没有该选项')
            elif sign3==3:
                break
            else:
                print('没有该选项')
    elif sign==3:
        while 1:
            print('1.产看所有产品,根据序号移除')
            print('2.移除所有产品')
            print('3.返回上一级')
            sign5=int(input('请输入选项:'))
            if sign5==1:
                delete_student(1)
                save_data()
            elif sign5==2:
                delete_student()
                save_data()
            elif sign5==3:
                break
            else:
                print('没有该选项')
    elif sign==4:
        print('欢迎下次使用!')
        break
    else:
        print('没有该选项!')


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值