python实现简单的商品数据管理系统

# 一个商品 名称 价格 库存 总销量
# 存放商品的数据类型  str set list tuple dict
# 综合考虑,选择字典

dict_data = {}


# {名称: {price: 价格, inventory: 库存, sales: 总销量}}


def exist_goods(goods_name):  # 有无keys都行应该是
    """判断商品是否已经存在"""
    if goods_name in dict_data:
        return True
    else:
        return False


# 补货,添加商品数据
def add_goods():
    """补货"""
    goods_name = input('商品的名称:')
    goods_count = int(input('商品的数量:'))
    # 该商品是否已经存在
    if exist_goods(goods_name):  # 有无keys都行应该是
        # 如果该商品已经存在
        # 就添加对应的数量
        dict_data[goods_name]['inventory'] += goods_count  # 添加对应的库存
    else:
        goods_price = float(input('商品的价格:'))
        # 把商品数据添加到字典
        dict_data[goods_name] = {'price': goods_price, 'inventory': goods_count, 'sales': 0}
    print(f'{goods_name}补货成功,当前库存为{dict_data[goods_name]["inventory"]}')


# 出售商品
def sell_goods():
    """出售商品,库存减少,销量增加"""
    goods_name = input('商品的名称:')
    if exist_goods(goods_name):
        goods_count = int(input('商品的数量:'))
        dict_data[goods_name]['inventory'] -= goods_count  # 添加对应的库存
        dict_data[goods_name]['sales'] += goods_count  # 统计总销量
        print('出售成功')
    else:
        print('商品名称不存在')


# 修改商品的价格
def modify_price():
    """修改商品的价格"""
    goods_name = input('商品的名称:')
    if exist_goods(goods_name):
        good_price = float(input('商品的价格:'))
        dict_data[goods_name]['price'] = good_price  # 修改价格
        print('修改成功')
    else:
        print('商品名称不存在')


# 查询单个商品的信息
def select_goods():
    """查询单个商品的信息"""
    goods_name = input('商品的名称:')
    if exist_goods(goods_name):
        print(dict_data[goods_name])
    else:
        print('商品不存在')


# 查询所有商品的信息
def select_all_goods():
    """查询所有商品的信息"""
    for i in dict_data.items():
        print(i)


while True:
    print('''----------------------------------------------------------------------------
1.增加商品   2.出售商品   3.修改商品价格   4.查询单个商品数据   5.查询所有商品数局   6.退出''')
    q = input('输入要操作的对象的id:')
    if q == '1':
        add_goods()
    elif q == '2':
        sell_goods()
    elif q == '3':
        modify_price()
    elif q == '4':
        select_goods()
    elif q == '5':
        select_all_goods()
    elif q == '6':
        break
    else:
        print('操作id无效')

python实现简单的商品数据管理系统

 

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python实现简单的商品数据管理系统 - Python技术站

(0)
上一篇 2023年4月2日 下午4:17
下一篇 2023年4月2日

相关文章

  • python中的字典和集合

    # 1.字典 存储数据 存储一个数据的属性 可以快速进行查找 # dict_data = {key:value,key:value,…} # key是键 # value是值 # 以大括号表示 # 数据是以键值对出现的 键值对中间用冒号连接 # key的值必须是不可变类型 # 字典和列表和集合是可变类型 print(‘1.字典’) dict_data = …

    2023年4月2日
    00
  • python中的公共操作与列表推导式

    1.公共操作 # + 合并 将两个相同类型序列进行连接 字符串、 列表、元组 l1 = [1, 2, 3] l2 = [4, 5, 6] print(l1+l2) # [1, 2, 3, 4, 5, 6]     # * 复制 将里面的数据进行复制 字符串、列表、元组 l1 = [1, 2, 3] print(l1 * 3) # [1, 2, 3, 1, 2…

    2023年4月2日
    00
  • python函数进阶

    # 1.函数的作用域 # 全局变量的作用域: # 一般在函数体外定义的变量成为全局变量,在函数内部定义的变量称为局部变量。 # 全局变量所有作用域都可用,局部变量只能在本函数可用,变 # 量的使用顺序是,局部变量 > 全局变量, 也就是说:优先使用局部变量 # # global关键字: # 为了解决函数内使用全局变量的问题, # python增加了gl…

    2023年4月2日
    00
  • python中的for循环

    1.range # 1.range(起始值,结束值,步长) # 范围 区间 # 步长不写时默认是1 # 当里面只有一个数据的时候,默认是0-结束值 # 当里面有两个数据的时候,是 起始值-结束值 print(‘1.range()’) print(range(5, 9, 1)) print(type(range(9)))       2. for循环 # 2.…

    2023年4月2日
    00
  • python中的高阶函数

    1.匿名函数 # 1.匿名函数lambda # 简化代码 减少占用的内存 print(‘1.匿名函数lambda’) def func(): print(10) func() func = lambda: print(10) # 出现警告的原因是: # 因为你把lambda表达式赋给了另一个变量。 # 但lambda表达式本就是一个匿名的函数, # PEP8…

    2023年4月2日
    00
  • python中的文件操作

    起初data.txt文件是这样的 # 一直打开文件但却不关闭文件会导致内存溢出 # 在python,使用open函数, # 可以打开一个已经存在的文件,或者创建一个新文件, # 语法如下: open(name, mode) # name: 是要打开的目标文件名的字符串(可以包含文件所在的具体路径)。 # mode: 设置打开文件的模式(访问模式):只读、写入…

    2023年4月2日
    00
  • python中的函数进阶

    1.局部变量和全局变量 在函数外定义的不可变数据类型,在函数里面是可读不可写在函数外定义的可变数据类型,在函数里面可读可操作不可修改不可变类型传入函数,进行的操作不会影响到外面的变量但是当我们声明一个变量为全局变量后,进行的操作会影响到函数外的变量 可变数据类型,传入和直接使用都会改变原本的数据不可变数据类型 直接使用是可读不可写的 传入后的操作不会对函数外…

    2023年4月2日
    00
  • python中的字符串操作

    # 1.索引(下标) print(‘1.索引’) str_data = ‘Python’ # [索引(下标)]取索引的格式 # 正负索引 # 获取单个数据 sub_str = str_data[4] print(sub_str) sub_str = str_data[-2] print(sub_str)     # 2.字符串切片 # 取单个数据用索引 # …

    2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部