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中urllib2模块的8个使用细节分享
Jan 01 Python
python中随机函数random用法实例
Apr 30 Python
Python中List.index()方法的使用教程
May 20 Python
Python实现根据IP地址和子网掩码算出网段的方法
Jul 30 Python
使用python 和 lint 删除项目无用资源的方法
Dec 20 Python
Python cookbook(数据结构与算法)找出序列中出现次数最多的元素算法示例
Mar 15 Python
解决使用pycharm提交代码时冲突之后文件丢失找回的方法
Aug 05 Python
详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)
Mar 27 Python
numpy np.newaxis 的实用分享
Nov 30 Python
通过python实现windows桌面截图代码实例
Jan 17 Python
PyCharm配置anaconda环境的步骤详解
Jul 31 Python
python中doctest库实例用法
Dec 31 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 高级课程笔记 面向对象
2009/06/21 PHP
php实现把数组按指定的个数分隔
2014/02/17 PHP
10条php编程小技巧
2015/07/07 PHP
centos下file_put_contents()无法写入文件的原因及解决方法
2017/04/01 PHP
php静态成员方法和静态的成员属性的使用方法
2017/10/26 PHP
自适应图片大小的弹出窗口
2006/07/27 Javascript
jquery应该如何来设置改变按钮input的onclick事件
2012/12/10 Javascript
放弃用你的InnerHTML来输出HTML吧 jQuery Tmpl不详细讲解
2013/04/20 Javascript
深入理解$.each和$(selector).each
2016/05/15 Javascript
angularjs 中$apply,$digest,$watch详解
2016/10/13 Javascript
详解Angular.js数据绑定时自动转义html标签及内容
2017/03/30 Javascript
JS实现评价的星星功能
2017/08/20 Javascript
浅析为什么a=&quot;abc&quot; 不等于 a=new String(&quot;abc&quot;)
2017/10/25 Javascript
Parcel.js + Vue 2.x 极速零配置打包体验教程
2017/12/24 Javascript
vue中实现先请求数据再渲染dom分享
2018/03/17 Javascript
JavaScript数组,JSON对象实现动态添加、修改、删除功能示例
2018/05/26 Javascript
bootstrap自定义样式之bootstrap实现侧边导航栏功能
2018/09/10 Javascript
重学JS之显示强制类型转换详解
2019/06/30 Javascript
浅谈vue限制文本框输入数字的正确姿势
2019/09/02 Javascript
Python单元测试框架unittest简明使用实例
2015/04/13 Python
Python定时执行之Timer用法示例
2015/05/27 Python
深入解析Python中的上下文管理器
2016/06/28 Python
ActiveMQ:使用Python访问ActiveMQ的方法
2019/01/30 Python
python3在同一行内输入n个数并用列表保存的例子
2019/07/20 Python
对django中foreignkey的简单使用详解
2019/07/28 Python
Python爬取视频(其实是一篇福利)过程解析
2019/08/01 Python
vscode 配置 python3开发环境的方法
2019/09/19 Python
浅谈matplotlib.pyplot与axes的关系
2020/03/06 Python
Python直接赋值及深浅拷贝原理详解
2020/09/05 Python
德国香水、化妆品和护理产品网上商店:Parfumdreams
2018/09/26 全球购物
文秘求职信范文
2014/04/10 职场文书
酒店开业庆典策划方案
2014/05/28 职场文书
大学军训的体会
2014/11/08 职场文书
公共场所卫生管理制度
2015/08/05 职场文书
历史名人教你十五个读书方法,赶快Get起来!
2019/07/18 职场文书
Python利用Turtle绘制哆啦A梦和小猪佩奇
2022/04/04 Python