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的函数闭包使用中应注意的问题
Jun 20 Python
python 多维切片之冒号和三个点的用法介绍
Apr 19 Python
python 使用 requests 模块发送http请求 的方法
Dec 09 Python
Python3 A*寻路算法实现方式
Dec 24 Python
pycharm不能运行.py文件的解决方法
Feb 12 Python
python mysql 字段与关键字冲突的解决方式
Mar 02 Python
Python类及获取对象属性方法解析
Jun 15 Python
如何使用Cython对python代码进行加密
Jul 08 Python
python定义类的简单用法
Jul 24 Python
Python logging模块handlers用法详解
Aug 14 Python
去除python中的字符串空格的简单方法
Dec 22 Python
python基础之类方法和静态方法
Oct 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
php的access操作类
2008/04/09 PHP
php实现改变图片直接打开为下载的方法
2015/04/14 PHP
php-msf源码详解
2017/12/25 PHP
Laravel 实现数据软删除功能
2019/08/21 PHP
Javascript 实用小技巧
2010/04/07 Javascript
利用JQuery和JS实现奇偶行背景颜色自定义效果
2012/11/19 Javascript
JSON 数字排序多字段排序介绍
2013/09/18 Javascript
用jQuery toggleClass 实现鼠标移上变色
2014/05/14 Javascript
javascript结合ajax读取txt文件内容
2014/12/05 Javascript
D3.js实现饼状图的方法详解
2016/09/21 Javascript
jQuery和JavaScript节点插入元素的方法对比
2016/11/18 Javascript
Vue.JS入门教程之列表渲染
2016/12/01 Javascript
Bootstrap源码解读按钮(5)
2016/12/23 Javascript
学习使用Bootstrap页面排版样式
2017/05/11 Javascript
AngularJS ng-repeat指令及Ajax的应用实例分析
2017/07/06 Javascript
Vue.js项目部署到服务器的详细步骤
2017/07/17 Javascript
EasyUI的TreeGrid的过滤功能的解决思路
2017/08/08 Javascript
基于Vue2的独立构建与运行时构建的差别(详解)
2017/12/06 Javascript
基于vue通用表单解决方案的思考与分析
2019/03/16 Javascript
Javascript地址引用代码实例解析
2020/02/25 Javascript
浅谈vue中$bus的使用和涉及到的问题
2020/07/28 Javascript
整理Python 常用string函数(收藏)
2016/05/30 Python
tensorflow实现图像的裁剪和填充方法
2018/07/27 Python
Pytorch技巧:DataLoader的collate_fn参数使用详解
2020/01/08 Python
学习Python列表的基础知识汇总
2020/03/10 Python
使用Python爬取弹出窗口信息的实例
2020/03/14 Python
移动端适配 使px自动转换rem
2019/08/26 HTML / CSS
戴森比利时官方网站:Dyson BE
2020/10/03 全球购物
const char*, char const*, char*const的区别是什么
2014/07/09 面试题
大学生学年自我鉴定
2014/02/10 职场文书
化学专业自荐信
2014/05/28 职场文书
2014年小学教学工作总结
2014/11/13 职场文书
史上最牛辞职信
2015/05/13 职场文书
2015迎新晚会开场白
2015/05/29 职场文书
学习《中小学教师职业道德规范》心得体会
2016/01/18 职场文书
vue本地构建热更新卡顿的问题“75 advanced module optimization”完美解决方案
2022/08/05 Vue.js