侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

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

Python  /  管理员 发布于 7年前   236

本文实例为大家分享了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列表元素常见操作简单示例
    下一条:
    Python操作列表常用方法实例小结【创建、遍历、统计、切片等】
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在python语言中Flask框架的学习及简单功能示例(0个评论)
    • 在Python语言中实现GUI全屏倒计时代码示例(0个评论)
    • Python + zipfile库实现zip文件解压自动化脚本示例(0个评论)
    • python爬虫BeautifulSoup快速抓取网站图片(1个评论)
    • vscode 配置 python3开发环境的方法(0个评论)
    • 近期文章
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2018-04
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2022-01
    • 2023-07
    • 2023-10
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客