当前位置: 移动技术网 > IT编程>脚本编程>Python > python小课设

python小课设

2019年01月07日  | 移动技术网IT编程  | 我要评论
结合list列表和dict字典实现以下功能。手机销售系统手机品牌手机价格库存数量 vivoX9 2798 25 iphone7(32G) 4888 31 iphone7(128G) 5668 22 iphone7P(128G) 6616 29 iphone6(16G) 3858 14 .... .......

结合list列表和dict字典实现以下功能。
手机销售系统

手机品牌		手机价格	库存数量
 vivoX9		   	   2798		  25
 iphone7(32G)	   4888		  31
 iphone7(128G)	   5668		  22
 iphone7P(128G)	   6616		  29
 iphone6(16G)	   3858		  14
 ....
 ....
 ....

phone_info = [{‘name’:‘vivox9’, ‘price’:‘1200’, ‘count’:‘30’}, {‘name’:‘iphone6’, ‘price’:‘2000’, ‘count’:‘55’}, {‘name’:‘iphone6s’, ‘price’:‘2200’, ‘count’:‘120’}, {‘name’:‘iphone7’, ‘price’:‘4000’, ‘count’:‘80’}, {‘name’:‘iphone7s’, ‘price’:‘4200’, ‘count’:‘90’}, {‘name’:‘iphone8’, ‘price’:‘5200’, ‘count’:‘70’}]

功能要求:
四个选项:
1.查看所有手机品牌
1.vivoX9
2.iphone7(32G)

分支选项:
1.选择产品序号查看详情(根据序号输出产品名称,价格,库存)
1.购买(库存数量-1,库存为0时,删除该产品)
2.返回
2.返回
2.更改产品库存信息
1.添加新产品(添加新产品,包括产品名称、价格、库存)
2.修改原有产品
输出所有产品信息
1.根据选择序号进行修改
2.返回
3.移除产品库存信息
1.查看所有产品,根据序号移除
2.移除所有产品
3.返回
4.退出程序

# 关于字典的练习
phone_info = [{'name':'vivox9', 'price':'1200', 'count':'30'}, {'name':'iphone6', 'price':'2000', 'count':'55'}, {'name':'iphone6s', 'price':'2200', 'count':'120'}, {'name':'iphone7', 'price':'4000', 'count':'80'}, {'name':'iphone7s', 'price':'4200', 'count':'90'}, {'name':'iphone8', 'price':'5200', 'count':'70'}]

def select_phone(is_detail):
    """
    查询手机品牌
    :param is_detail: bool类型的值,True就是手机品牌的详细信息;反之就是简要信息
    :return:
    """
    for index, p_dict in enumerate(phone_info):
        if is_detail:
            print('{}-名称:{}; 价格:{}; 库存:{};'.format(index+1, p_dict['name'], p_dict['price'], p_dict['count']))
        else:
            print('{}-名称:{};'.format(index + 1, p_dict['name']))

def detail_info_and_back():
    """
    根据产品序号查看详情
    :return:
    """
    print('1-选择产品序号查看详情')
    print('2-返回')
    number = int(input('请选择操作:'))
    if number == 1:
        product_id = int(input('输入产品编号:'))
        # 根据输入的产品id(就是产品编号),从phone_info这个列表中获取对应的字典信息。
        p_dict = phone_info[product_id-1]
        print('{}-名称:{}; 价格:{}; 库存:{};'.format(product_id, p_dict['name'], p_dict['price'], p_dict['count']))
        # 是否购买,如果购买需要将p_dict中的库存数量相应的减少。
        buy_and_back(p_dict)
    else:
        return

def buy_and_back(p_dict):
    """
    购买或者返回
    :param p_dict: 就是根据用户输入的产品id(product_id),获取的产品的详细信息。
    :return:
    """
    print('1-购买')
    print('2-返回')
    number = int(input('请选择操作:'))
    if number == 1:
        # 在购买产品之前,先查询以下这个手机的库存。
        count = int(p_dict['count'])
        print('当前商品剩余库存数量:{}台。'.format(count))
        buy_count = int(input('请输入购买数量:'))
        while buy_count <= 0 or buy_count > count:
            buy_count = int(input('请输入正确的购买数量:'))
        # 修改该产品的库存
        count = str(count - buy_count)
        p_dict['count'] = count
        # 如果剩余库存数量为0,可以将该产品l字典从列表中移除。
        if count == '0':
            phone_info.remove(p_dict)
        print('购买成功,数量:{}台。'.format(count))
    else:
        return

def add_and_update_phone():
    """
    添加或者更改产品的信息
    :return:
    """
    print('1-添加新产品')
    print('2-修改原有产品')
    number = int(input('请选择操作:'))
    if number == 1:
        new_phone_name = input('输入新产品名称:')
        new_phone_price = input('输入新产品价格:')
        new_phone_count = input('输入新产品库存:')
        # 将这些新产品的信息封装到字典中,再将这个字典添加到列表phone_info中即可。
        p_dict = {'name': new_phone_name, 'price': new_phone_price, 'count': new_phone_count}
        phone_info.append(p_dict)
        print('新产品添加成功。')
    else:
        # 修改之前,先查询所有产品信息,方便用户选择
        select_phone(is_detail=True)
        index = int(input('请输入产品编号:')) - 1
        p_dict = phone_info[index]
        p_dict['name'] = input('输入修改名称:')
        p_dict['price'] = input('输入修改价格:')
        p_dict['count'] = input('输入修改库存:')
        print('产品修改成功。')

def delete_phone():
    print('1-根据产品编号删除')
    print('2-删除所有产品')
    print('3-返回')
    number = int(input('请选择操作:'))
    if number == 1:
        product_id = int(input('输入产品编号:')) - 1
        del phone_info[product_id]
        print('删除产品成功。')
    elif number == 2:
        phone_info.clear()
        print('所有产品删除成功。')
    else:
        return

while True:
    print("""
    1-查看所有品牌
    2-添加或修改手机品牌信息
    3-删除手机品牌信息
    4-退出程序
    """)
    number = int(input('请选择操作:'))
    if number == 1:
        select_phone(False)
        detail_info_and_back()
    elif number == 2:
        add_and_update_phone()
    elif number == 3:
        select_phone(True)
        delete_phone()
    else:
        break


本文地址:https://blog.csdn.net/qq_37252519/article/details/85985926

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网