python实现超市商品销售管理系统


Posted in Python onNovember 22, 2019

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

class Goods(object):
 def __init__(self, id, name, price):
  self.id = id
  self.name = name
  self.price = price

 def __str__(self):
  info = "编号:%s\t商品名称:%s\t\t价格:%d" % (self.id, self.name, self.price)
  return info
class ShopManager(object):

 def __init__(self, path):
  # path:表示读取文件的路径 shopdic:表示存放内存的容器
  self.path = path
  self.shopdic = self.readFileToDic()

 def readFileToDic(self):
  # 读取文件,写入到字典中
  f = open(self.path, 'r', encoding='utf-8')
  clist = f.readlines()
  f.close()
  index = 0
  shopdic = {}
  while index < len(clist):
   # 将每一行的字符串进行分割,存放到新的列表中
   ctlist = clist[index].replace('\n', "").split("|")
   # 将每行的内容存放到一个对象中
   good = Goods(ctlist[0], ctlist[1], int(ctlist[2]))
   # 将对向存放到集合中
   shopdic[good.id] = good
   index = index + 1
  return shopdic

 def writeContentFile(self):
  # 将内存当中的信息写入到文件当中
  str1 = ''
  for key in self.shopdic.keys():
   good = self.shopdic[key]
   ele = good.id + "|" + good.name + "|" + str(good.price) + "\n"
   str1 = str1 + ele
  f = open(self.path, 'w', encoding='utf-8')
  f.write(str1)
  f.close()

 def addGoods(self):
  # 添加商品的方法
  id = input("请输入添加商品编号:>")
  if self.shopdic.get(id):
   print("商品编号已存在,请重新选择!")
   return
  name = input("请输入添加商品名称:>")
  price = int(input("请输入添加商品价格:>"))
  good = Goods(id, name, price)
  self.shopdic[id] = good
  print("添加成功!")

 def deleteGoods(self):
  # 删除商品的方法
  id = input("请输入删除商品编号:>")
  if self.shopdic.get(id):
   del self.shopdic[id]
   print("删除成功!")
  else:
   print("商品编号不存在!")

 def showGoods(self):
  # 展示所有商品信息
  print("=" * 40)
  for key in self.shopdic.keys():
   good = self.shopdic[key]
   print(good)
  print("=" * 40)

 def adminWork(self):
  info = """
  ==========欢迎进入好海哦购物商场==========
   输入功能编号,您可以选择以下功能:
   输入“1”:显示商品的信息
   输入“2”:添加商品的信息
   输入“3”:删除商品的信息
   输入“4”:退出系统功能
  ==========================================
  """
  print(info)
  while True:
   code = input("请输入功能编号:>")
   if code == "1":
    self.showGoods()
   elif code == "2":
    self.addGoods()
   elif code == "3":
    self.deleteGoods()
   elif code == "4":
    print("感谢您的使用,正在退出系统!!")
    self.writeContentFile()
    break
   else:
    print("输入编号有误,请重新输入!!")

 def userWork(self):
  print(" ==============欢迎进入好海哦购物商场==============")
  print("您可输入编号和购买数量选购商品,输入编号为n则结账")
  self.showGoods()
  total = 0
  while True:
   id = input("请输入购买商品编号:>")
   if id == "n":
    print("本次购买商品共消费%d元,感谢您的光临!" % (total))
    break
   if self.shopdic.get(id):
    good = self.shopdic[id]
    num = int(input("请输入购买数量:>"))
    total = total + good.price * num
   else:
    print("输入商品编号有误,请核对后重新输入!")

 def login(self):
  # 登录功能
  print("==========欢迎登录好海哦购物商场==========")
  uname = input("请输入用户名:>")
  password = input("请输入密码:>")
  if uname == "admin":
   if password == "123456":
    print("欢迎您,admin管理员")
    self.adminWork()
   else:
    print("管理员密码错误,登录失败!")
  else:
   print("欢迎你,%s用户" % (uname))
   # 执行用户的购买功能
   self.userWork()
if __name__ == '__main__':
 shopManage = ShopManager("shop.txt")
 shopManage.login()

python实现超市商品销售管理系统

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
sublime text 3配置使用python操作方法
Jun 11 Python
Python中 传递值 和 传递引用 的区别解析
Feb 22 Python
基于Python实现的微信好友数据分析
Feb 26 Python
Python实现查找数组中任意第k大的数字算法示例
Jan 23 Python
利用python实现PSO算法优化二元函数
Nov 13 Python
Pycharm最常用的快捷键及使用技巧
Mar 05 Python
Python计算信息熵实例
Jun 18 Python
pycharm 2020.2.4 pip install Flask 报错 Error:Non-zero exit code的问题
Dec 04 Python
使用Python爬取小姐姐图片(beautifulsoup法)
Feb 11 Python
k-means & DBSCAN 总结
Apr 27 Python
Python编程super应用场景及示例解析
Oct 05 Python
Python语言中的数据类型-序列
Feb 24 Python
python实现二分类的卡方分箱示例
Nov 22 #Python
python的等深分箱实例
Nov 22 #Python
基于python实现学生信息管理系统
Nov 22 #Python
基于python cut和qcut的用法及区别详解
Nov 22 #Python
python创建学生成绩管理系统
Nov 22 #Python
Python计算不规则图形面积算法实现解析
Nov 22 #Python
python实现连续变量最优分箱详解--CART算法
Nov 22 #Python
You might like
一台收音机,让一家人都笑逐颜开!
2020/08/21 无线电
php语言流程控制中的主动与被动
2012/11/05 PHP
使用Apache的htaccess防止图片被盗链的解决方法
2013/04/27 PHP
PHP imagegrabscreen和imagegrabwindow(截取网站缩略图)的实例代码
2013/11/07 PHP
PHP学习笔记之字符串编码的转换和判断
2014/05/22 PHP
javascript 文本框水印/占位符(watermark/placeholder)实现方法
2012/01/15 Javascript
jquery 实现checkbox全选,反选,全不选等功能代码(奇数)
2012/10/24 Javascript
jQuery判断指定id的对象是否存在的方法
2015/05/22 Javascript
javascript实现PC网页里的拖拽效果
2016/03/14 Javascript
js实现密码强度检测【附示例】
2016/03/30 Javascript
基于JavaScript实现熔岩灯效果导航菜单
2017/01/04 Javascript
js实现适合新闻类图片的轮播效果
2017/02/05 Javascript
浅析JavaScript中的平稳退化(graceful degradation)
2017/07/24 Javascript
Express的HTTP重定向到HTTPS的方法
2018/06/06 Javascript
vue做移动端适配最佳解决方案(亲测有效)
2018/09/04 Javascript
Vue中Quill富文本编辑器的使用教程
2018/09/21 Javascript
vue.js实现的全选与全不选功能示例【基于elementui】
2018/12/03 Javascript
react-router4按需加载(踩坑填坑)
2019/01/06 Javascript
jquery实现手风琴案例
2020/05/04 jQuery
Javascript新手入门之字符串拼接与变量的应用
2020/12/03 Javascript
Python的词法分析与语法分析
2013/05/18 Python
python实现从网络下载文件并获得文件大小及类型的方法
2015/04/28 Python
在Python中用split()方法分割字符串的使用介绍
2015/05/20 Python
浅谈Python生成器generator之next和send的运行流程(详解)
2017/05/08 Python
如何给Python代码进行加密
2020/01/10 Python
python 将列表里的字典元素合并为一个字典实例
2020/09/01 Python
Python列表推导式实现代码实例
2020/09/09 Python
使用canvas来完成线性渐变和径向渐变的功能的方法示例
2019/07/25 HTML / CSS
WSDL的操作类型主要有几种
2013/07/19 面试题
经销商培训邀请函
2014/01/21 职场文书
2014两会学习心得:榜样精神伴我行
2014/03/17 职场文书
廉洁教育学习材料
2014/05/19 职场文书
2014年新农村建设工作总结
2014/12/01 职场文书
优胜劣汰,强者为王——读《鲁滨逊漂流记》有感
2019/08/15 职场文书
《宝可梦》动画制作25周年到来 官方发布特别纪念视频
2022/04/01 日漫
CentOS7安装MySQL8的超级详细教程(无坑!)
2022/06/10 Servers