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 相关文章推荐
Python编码时应该注意的几个情况
Mar 04 Python
Python高级应用实例对比:高效计算大文件中的最长行的长度
Jun 08 Python
python在linux中输出带颜色的文字的方法
Jun 19 Python
Tensorflow使用tfrecord输入数据格式
Jun 19 Python
pycharm 将python文件打包为exe格式的方法
Jan 16 Python
python pandas写入excel文件的方法示例
Jun 25 Python
Django中自定义模型管理器(Manager)及方法
Sep 23 Python
Python requests.post方法中data与json参数区别详解
Apr 30 Python
PyQt中使用QtSql连接MySql数据库的方法
Jul 28 Python
使用Python操作MySQL的小技巧
Sep 10 Python
Python实现定时监测网站运行状态的示例代码
Sep 30 Python
Python OpenCV超详细讲解调整大小与图像操作的实现
Apr 02 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
PHP脚本的10个技巧(3)
2006/10/09 PHP
在PHP中使用反射技术的架构插件使用说明
2010/05/18 PHP
PHP实现文件上传与下载实例与总结
2016/03/13 PHP
php如何控制用户对图片的访问 PHP禁止图片盗链
2016/03/25 PHP
js实现在页面上弹出蒙板技巧简单实用
2013/04/16 Javascript
JavaScript实现向右伸出的多级网页菜单效果
2015/08/25 Javascript
深入剖析javascript中的exec与match方法
2016/05/18 Javascript
jQuery easyUI datagrid 增加求和统计行的实现代码
2016/06/01 Javascript
AngularJs页面筛选标签小功能
2016/08/01 Javascript
JavaScript中的对象继承关系
2016/08/01 Javascript
Angular.JS判断复选框checkbox是否选中并实时显示
2016/11/30 Javascript
实例解析jQuery工具函数
2016/12/01 Javascript
jQuery插件form-validation-engine正则表达式操作示例
2017/02/09 Javascript
vue.js内部自定义指令与全局自定义指令的实现详解(利用directive)
2017/07/11 Javascript
Angular 2 利用Router事件和Title实现动态页面标题的方法
2017/08/23 Javascript
React学习笔记之高阶组件应用
2018/06/02 Javascript
JavaScript循环遍历你会用哪些之小结篇
2018/09/28 Javascript
关于引入vue.js 文件的知识点总结
2020/01/28 Javascript
JavaScript实现移动端拖动元素
2020/11/24 Javascript
通过python调用adb命令对App进行性能测试方式
2020/04/23 Python
Python绘图之柱形图绘制详解
2020/07/28 Python
实例讲解使用SVG制作loading加载动画的方法
2016/04/05 HTML / CSS
西班牙最大的婴儿用品网上商店:Bebitus
2019/05/30 全球购物
中西医结合临床医学专业大学生自荐信
2013/09/28 职场文书
质检部部长职责
2013/12/16 职场文书
应届行政管理专业个人自我评价
2013/12/28 职场文书
《吃水不忘挖井人》教学反思
2014/04/15 职场文书
副职竞争上岗演讲稿
2014/05/12 职场文书
项目经理任命书范本
2014/06/05 职场文书
2014年教育实习工作总结
2014/11/22 职场文书
2014年教研组工作总结
2014/11/26 职场文书
2014年学前班工作总结
2014/12/08 职场文书
2014年出纳工作总结与计划
2014/12/09 职场文书
MySql存储过程之逻辑判断和条件控制
2021/05/26 MySQL
HashMap实现保存两个key相同的数据
2021/06/30 Java/Android
MyBatis配置文件解析与MyBatis实例演示
2022/04/07 Java/Android