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 06 Python
Python中shutil模块的常用文件操作函数用法示例
Jul 05 Python
浅谈Python浅拷贝、深拷贝及引用机制
Dec 15 Python
python如何实现反向迭代
Mar 20 Python
matlab中实现矩阵删除一行或一列的方法
Apr 04 Python
Python实现读取机器硬件信息的方法示例
Jun 09 Python
python网络应用开发知识点浅析
May 28 Python
pandas进行时间数据的转换和计算时间差并提取年月日
Jul 06 Python
python实现WebSocket服务端过程解析
Oct 18 Python
Python实现线性插值和三次样条插值的示例代码
Nov 13 Python
基于django 的orm中非主键自增的实现方式
May 18 Python
区分python中的进程与线程
Aug 13 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 图像尺寸调整代码
2010/05/26 PHP
Mysql中分页查询的两个解决方法比较
2013/05/02 PHP
浅谈php安全性需要注意的几点事项
2014/07/17 PHP
php实现多维数组排序的方法示例
2017/03/23 PHP
php和C#的yield迭代器实现方法对比分析
2019/07/17 PHP
validator验证控件使用代码
2010/11/23 Javascript
jquery实现在光标位置插入内容的方法
2015/02/05 Javascript
jQuery extend()详解及简单实例
2017/05/06 jQuery
JS库之Waypoints的用法详解
2017/09/13 Javascript
使用Vue的slot插槽分发父组件内容实现高度复用、更加灵活的组件(推荐)
2018/05/01 Javascript
vue中使用input[type=&quot;file&quot;]实现文件上传功能
2018/09/10 Javascript
微信小程序template模版的使用方法
2019/04/13 Javascript
用vscode开发vue应用的方法步骤
2019/05/06 Javascript
原生JavaScript实现的无缝滚动功能详解
2020/01/17 Javascript
[54:18]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS BO3 第一场 1月22日
2021/03/11 DOTA
深入解析Python中的urllib2模块
2015/11/13 Python
python虚拟环境的安装配置图文教程
2017/10/20 Python
python 多进程共享全局变量之Manager()详解
2019/08/15 Python
python路径的写法及目录的获取方式
2019/12/26 Python
解决Python logging模块无法正常输出日志的问题
2020/02/21 Python
scrapy利用selenium爬取豆瓣阅读的全步骤
2020/09/20 Python
CSS超出文本指定宽度用省略号代替和文本不换行
2016/05/05 HTML / CSS
澳大利亚便宜的家庭购物网站:CrazySales
2018/02/06 全球购物
应用艺术专业个人的自我评价
2014/01/03 职场文书
学校党员对照检查材料
2014/08/28 职场文书
退休党员个人对照检查材料思想汇报
2014/09/29 职场文书
工作证明英文模板
2014/10/21 职场文书
2014年电工工作总结
2014/11/20 职场文书
公司员工体检通知
2015/04/21 职场文书
不同意离婚代理词
2015/05/23 职场文书
学校隐患排查制度
2015/08/05 职场文书
幼儿教师远程研修感悟
2015/11/18 职场文书
2016年万圣节活动个人总结
2016/04/05 职场文书
Mysql中where与on的区别及何时使用详析
2021/08/04 MySQL
Golang MatrixOne使用介绍和汇编语法
2022/04/19 Golang
SQL试题 使用窗口函数选出连续3天登录的用户
2022/04/24 Oracle