python实现超市管理系统(后台管理)

 更新时间:2022年06月02日 13:47:47   作者:哼嘿哈嘿  
这篇文章主要为大家详细介绍了python实现超市管理系统,增加后台管理,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

本文实例为大家分享了python实现超市管理系统的具体代码,供大家参考,具体内容如下

这个相比上个程序简单很多,首先他没有太过复杂的逻辑关系,它的逻辑线条很清晰,你能很清楚的知道要做什么,只要往自己想的方面实现就行,代码如下

# coding: utf-8
# 定义仓库
repository = dict()
# 定义购物清单对象
shop_list = []
# 定义仓库里商品数量
shangpin = [["1000001", "你好世界", 88.0, 10], \
["1000002", "疯狂python讲义", 69.0, 12],\
["1000003", "康复手册", 59.0, 188],\
["1000004", "疯狂Java讲义", 109.0, 56],\
["1000005", "疯狂Android讲义", 108.0, 100],\
["1000006", "世界起源", 77.0, 122]]
# 定义一个函数来初始化商品
def init_repository():
 # 遍历商品生成仓库dict字典
 for i in range(len(shangpin)) :
 repository[shangpin[i][0]] = shangpin[i]
#显示超市的商品清单,就是遍历代表仓库的dict字典
def show_goods():
 print("欢迎来到 哼嘿哈嘿乐园")
 print('哈嘿乐园的商品清单:')
 print("%13s%40s%10s%10s" % ("条码", "商品名称", "单价","数量"))
 # 遍历repository的所有value来显示商品清单
 for s in repository.values():
 s = tuple(s)
 print("%15s%40s%12s%12s" % s)
# 显示购物清单,就是遍历代表购物清单的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,start=1):
  # 转换id为索引加1
  id = i 
  # 获取该购物项的第1个元素:商品条码
  code = item[0]
  # 获取商品条码读取商品,再获取商品的名称
  name = repository[code][1]
  # 获取商品条码读取商品,再获取商品的单价
  price = repository[code][2]
  # 获取该购物项的第2个元素:商品数量
  number = item[1]
  # 小计
  amount = price * number
  # 计算总计
  sum = sum + amount
  line = "%-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里面的number
 item[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 os
 os._exit(0) 
# 后台添加商品函数
def adds():
 # 获取要添加的商品信息
 a = input("请输入商品条码:")
 b = input('请输入商品名称:')
 c = input('请输入商品单价:')
 d = input('请输入商品数量:')
 # 添加到商品列表
 shangpin.append([a,b,c,d])
 # 重新打印商品清单
 init_repository()
 show_goods()
# 后天修改商品属性函数
def edits():
 a = input("请输入商品条码:")
 # 获取此商品条码的新的值
 if a in repository.keys():
 e = input("请输入修改后商品名字:")
 f = input("请输入修改后商品单价:")
 g = input("请输入修改后商品数量:")
 repository.update({a:[a,e,f,g]})
 print(repository[a])
 show_goods()
 else:
 print('输入条码有误')
def deletes():
 h = input('请输入您要下架商品条码:')
 # 直接根据条码从仓库里面删除掉此商品
 repository.pop(h)
 show_goods()
# 重新打印商品清单
def show_good():
 show_goods()
# 后台支持的操作
cmd_dicts = {'a': adds, 'e': edits, 'd': deletes, 's': show_good, 'q': quit}
def root():
 # 先打印清单
 show_goods()
 print("欢迎进入超市货品管理平台")
 print("=" * 100)
 while True:
 cmds = input("后台操作指令: \n" +
  " 添加商品(a) 修改商品(e) 删除商品(d) 全部商品(s) 退出(q)\n") 
 if cmds == 'q' :
  return
 elif cmds not in cmd_dicts:
  print("好好玩,行吗!")
 else:
  cmd_dicts[cmds]()
# 用户所支持的操作
cmd_dict = {'a': add, 'e': edit, 'd': delete, 'p': payment, 's': show_goods, 'r': root }
# 初始仓库并展示
init_repository()
show_goods()
# 显示命令提示
def show_command():
 # 等待命令
 cmd = input("用户操作指令: \n" +
 " 添加(a) 修改(e) 删除(d) 结算(p) 超市商品(s) 后台管理(r)\n")
 # 如果用户输入的字符没有对应的命令 
 if cmd not in cmd_dict:
 print("不要玩,好不好!")
 else:
 cmd_dict[cmd]()
# 显示清单和操作命令提示
while True:
 show_list()
 show_command()

结语:

新增了后台处理,但是代码还是很不完善,还有很多问题存在,这只是大概的思路,希望能给小伙伴们点启发
小伙伴们如果有不清楚的地方请留言,我们共同进步

感谢:

本文源码参考疯狂python讲义

更多学习资料请关注专题《管理系统开发》。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持程序员之家。

相关文章

  • python实现Windows电脑定时关机

    python实现Windows电脑定时关机

    这篇文章主要为大家详细介绍了python实现Windows电脑定时关机功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • python自动12306抢票软件实现代码

    python自动12306抢票软件实现代码

    这篇文章主要为大家详细介绍了python自动12306抢票软件的实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • 使用Python的matplotlib库绘制柱状图

    使用Python的matplotlib库绘制柱状图

    这篇文章主要介绍了使用Python的matplotlib库绘制柱状图,Matplotlib是Python中最常用的可视化工具之一,可以非常方便地创建海量类型地2D图表和一些基本的3D图表,可根据数据集自行定义x,y轴,绘制图形,需要的朋友可以参考下
    2023-07-07
  • Python?虚拟机集合set实现原理及源码解析

    Python?虚拟机集合set实现原理及源码解析

    这篇文章主要为大家介绍了Python?虚拟机集合set实现原理及源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • Python抓取框架Scrapy爬虫入门:页面提取

    Python抓取框架Scrapy爬虫入门:页面提取

    Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改,下面这篇文章主要给大家介绍了关于Python抓取框架Scrapy爬虫入门之页面提取的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。
    2017-12-12
  • python实现在pickling的时候压缩的方法

    python实现在pickling的时候压缩的方法

    这篇文章主要介绍了python实现在pickling的时候压缩的方法,比较具有实用价值,需要的朋友可以参考下
    2014-09-09
  • 教你如何使用Python开发一个钉钉群应答机器人

    教你如何使用Python开发一个钉钉群应答机器人

    在聊天工具大肆侵入我们生活各个方面的今天,各种消息无时无刻不在侵扰我们的每一寸时间,这种情况下,一个聊天的机器人就很有必要了.今天,我们来学习一下使用 Python 开发一个钉钉的应答机器人,助你「人生苦短,少回消息」,需要的朋友可以参考下
    2021-06-06
  • 快速解决cv2.imread()读取图像为BGR的问题

    快速解决cv2.imread()读取图像为BGR的问题

    这篇文章主要介绍了快速解决cv2.imread()读取图像为BGR的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Python?Requests库知识汇总

    Python?Requests库知识汇总

    这篇文章主要介绍了Python?Requests库学习总结,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • 新手如何发布Python项目开源包过程详解

    新手如何发布Python项目开源包过程详解

    这篇文章主要介绍了新手如何发布Python项目开源包过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07

最新评论

?


http://www.vxiaotou.com