600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Python项目实战:Python版超市管理系统源代码

Python项目实战:Python版超市管理系统源代码

时间:2024-04-14 17:33:59

相关推荐

Python项目实战:Python版超市管理系统源代码

Python版超市管理系统可实现下单商品,修改商品数量,删除商品,结算商品。

程序使用元组代表商品,元组的多个元素分别代表商品条码,商品名称,商品单价;

使用dict来表示系统当前仓库中的所有商品,dict的key是商品条码,value是商品元组;

使用list列表来记录用户的购物清单,list的列表的元素代表购物明细项,每个明细项也是一个list列表。程序运行截图:

完整程序代码:

# 定义仓库repository = dict()# 定义购物清单对象shop_list = []# 定义一个函数来初始化商品def init_repository():# 初始化了很多的商品,每个元组代表一个商品goods1 = ("1001", "时尚-组合柜", 888.0)goods2 = ("1002", "时尚-西蒙斯床", 1969.0)goods3 = ("1003", "时尚-餐桌", 1259.0)goods4 = ("1004", "时尚-精品沙发", 3999.0)goods5 = ("1005", "时尚-床头柜", 108.0)goods6 = ("1006", "时尚-梳妆台", 77.0)# 把商品入库(放入dict中),条码作为keyrepository[goods1[0]] = goods1repository[goods2[0]] = goods2repository[goods3[0]] = goods3repository[goods4[0]] = goods4repository[goods5[0]] = goods5repository[goods6[0]] = goods6# 显示超市的商品清单,就是遍历代表仓库的dict字典def show_goods():print("欢迎光临 家具超市")print('家具超市的商品清单:')print("%13s%40s%10s" % ("条码", "商品名称", "单价"))# 遍历repository的所有value来显示商品清单for goods in repository.values():print("%15s%40s%12s" % goods)# 显示购物清单,就是遍历代表购物清单的list列表def show_list():print("=" * 100)# 如果清单不为空的时候,输出清单的内容if not shop_list:print("还未购买商品")else:title = "%-5s|%15s|%40s|%10s|%4s|%10s" % \("ID", "条码", "商品名称", "单价", "数量", "小计")print(title)print("-" * 100)# 记录总计的价钱sum = 0# 遍历代表购物清单的list列表for i, item in enumerate(shop_list):# 转换id为索引加1id = i + 1# 获取该购物项的第1个元素:商品条码code = item[0]# 获取商品条码读取商品,再获取商品的名称name = repository[code][1]# 获取商品条码读取商品,再获取商品的单价price = repository[code][2]# 获取该购物项的第2个元素:商品数量number = item[1]# 小计amount = price * number# 计算总计sum = sum + amountline = "%-5s|%17s|%40s|%12s|%6s|%12s" % \(id, code, name, price, number, amount)print( line )print("-" * 100)print("总计: " , sum)print("=" * 100)# 添加购买商品,就是向代表用户购物清单的list列表中添加一项。def add():# 等待输入条码code = input("请输入商品的条码:\n")# 没有找到对应的商品,条码错误if code not in repository:print("条码错误,请重新输入")return# 根据条码找商品goods = repository[code]# 等待输入数量number = input("请输入购买数量:\n")# 把商品和购买数量封装成list后加入购物清单shop_list.append([code, int(number)])# 修改购买商品的数量,就是修改代表用户购物清单的list列表的元素def edit():id = input("请输入要修改的购物明细项的ID:\n")# id减1得到购物明细项的索引index = int(id) - 1# 根据索引获取某个购物明细项item = shop_list[index]# 提示输入新的购买数量number = input("请输入新的购买数量:\n")# 修改item里面的numberitem[1] = int(number)# 删除购买的商品明细项,就是删除代表用户购物清单的list列表的一个元素。def delete():id = input("请输入要删除的购物明细项的ID: ")index = int(id) - 1# 直接根据索引从清单里面删除掉购物明细项del shop_list[index]def payment():# 先打印清单show_list()print('\n' * 3)print("欢迎下次光临")# 退出程序import osos._exit(0)cmd_dict = {'a': add, 'e': edit, 'd': delete, 'p': payment, 's': show_goods}# 显示命令提示def show_command():# 等待命令cmd = input("请输入操作指令: \n" + " 购买(a) 修改(e) 删除(d) 结算(p) 超市商品(s):")# 如果用户输入的字符没有对应的命令if cmd not in cmd_dict:print("暂无此商品!")else:cmd_dict[cmd]()init_repository()show_goods()# 显示清单和操作命令提示while True:show_list()show_command()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。