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远程登录代码
Apr 29 Python
Python 第一步 hello world
Sep 25 Python
Bottle框架中的装饰器类和描述符应用详解
Oct 28 Python
pandas中Timestamp类用法详解
Dec 11 Python
python游戏地图最短路径求解
Jan 16 Python
关于python中密码加盐的学习体会小结
Jul 15 Python
python统计函数库scipy.stats的用法解析
Feb 25 Python
Python导入模块包原理及相关注意事项
Mar 25 Python
jupyter notebook 恢复误删单元格或者历史代码的实现
Apr 17 Python
Python基于requests实现模拟上传文件
Apr 21 Python
如何基于python把文字图片写入word文档
Jul 31 Python
看看如何用Python绘制小米新版天价logo
Apr 20 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实现下载限制速度示例分享
2014/02/13 PHP
Dojo之路:如何利用Dojo实现Drag and Drop效果
2007/04/10 Javascript
JS 获取span标签中的值的代码 支持ie与firefox
2009/08/24 Javascript
js cookies实现简单统计访问次数
2009/11/24 Javascript
JavaScript 联动的无限级封装类,数据采用非Ajax方式,随意添加联动
2010/06/29 Javascript
jquery.blockUI.js上传滚动等待效果实现思路及代码
2013/03/18 Javascript
jQuery ajax dataType值为text json探索分享
2013/09/23 Javascript
js正则表达exec与match的区别说明
2014/01/29 Javascript
javascript操作excel生成报表示例
2014/05/08 Javascript
js实现键盘操作实现div的移动或改变的原理及代码
2014/06/23 Javascript
jQuery中:hidden选择器用法实例
2014/12/30 Javascript
javascript中replace( )方法的使用
2015/04/24 Javascript
jquery背景跟随鼠标滑动导航
2015/11/20 Javascript
JS实现的几个常用算法
2016/11/12 Javascript
详解用原生JavaScript实现jQuery的某些简单功能
2016/12/19 Javascript
jquery实现焦点轮播效果
2017/02/23 Javascript
从parcel.js打包出错到选择nvm的全部过程
2018/01/23 Javascript
javascript动态创建对象的属性详解
2018/11/07 Javascript
webpack file-loader和url-loader的区别
2019/01/15 Javascript
vue插件mescroll.js实现移动端上拉加载和下拉刷新
2019/03/07 Javascript
JS中的函数与对象的创建方式
2019/05/12 Javascript
Python3基础之基本运算符概述
2014/08/13 Python
numpy添加新的维度:newaxis的方法
2018/08/02 Python
python解析yaml文件过程详解
2019/08/30 Python
python使用socket实现的传输demo示例【基于TCP协议】
2019/09/24 Python
Python求解正态分布置信区间教程
2019/11/20 Python
使用python检查yaml配置文件是否符合要求
2020/04/09 Python
Python configparser模块操作代码实例
2020/06/08 Python
python实现简单猜单词游戏
2020/12/24 Python
英国Flybe航空官网:欧洲最大的独立支线廉价航空公司
2019/07/15 全球购物
营销专业应届生求职信
2013/11/26 职场文书
先进个人获奖感言
2014/01/24 职场文书
2015年国税春训心得体会
2015/03/09 职场文书
2016党校培训心得体会
2016/01/07 职场文书
《我是什么》教学反思
2016/02/16 职场文书
CSS预处理框架——Stylus
2021/04/21 HTML / CSS