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的collections模块中namedtuple结构使用示例
Jul 07 Python
http请求 request失败自动重新尝试代码示例
Jan 25 Python
python 实现A*算法的示例代码
Aug 13 Python
python 循环读取txt文档 并转换成csv的方法
Oct 26 Python
对python pandas读取剪贴板内容的方法详解
Jan 24 Python
python argparse传入布尔参数false不生效的解决
Apr 20 Python
python3让print输出不换行的方法
Aug 24 Python
python 6行代码制作月历生成器
Sep 18 Python
Python之字典对象的几种创建方法
Sep 30 Python
聊一聊python常用的编程模块
May 14 Python
Python面向对象之内置函数相关知识总结
Jun 24 Python
Pygame游戏开发之太空射击实战敌人精灵篇
Aug 05 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写聊天室(八)
2006/10/09 PHP
php 按指定元素值去除数组元素的实现方法
2011/11/04 PHP
基于CI框架的微信网页授权库示例
2016/11/25 PHP
Prototype 1.5.0_rc1 及 Prototype 1.5.0 Pre0小抄本
2006/09/22 Javascript
捕获关闭窗口的脚本
2009/01/10 Javascript
COM中获取JavaScript数组大小的代码
2009/11/22 Javascript
Javascript 中 null、NaN和undefined的区别总结
2013/04/10 Javascript
js中的异常处理try...catch使用介绍
2013/09/21 Javascript
让新消息在网页标题闪烁提示的jQuery代码
2013/11/04 Javascript
父页面显示遮罩层弹出半透明状态的dialog
2014/03/04 Javascript
浅谈js中的闭包
2015/03/16 Javascript
浅谈jQuery为哪般去掉了浏览器检测
2016/08/29 Javascript
javascript如何创建对象
2016/08/29 Javascript
js事件源window.event.srcElement兼容性写法(详解)
2016/11/25 Javascript
微信小程序实现验证码获取倒计时效果
2018/02/08 Javascript
Node.js readline 逐行读取、写入文件内容的示例
2018/03/01 Javascript
Node.js中Koa2在控制台输出请求日志的方法示例
2019/05/02 Javascript
微信小程序完美解决scroll-view高度自适应问题的方法
2020/08/08 Javascript
python实现批量改文件名称的方法
2015/05/25 Python
Python基础练习之用户登录实现代码分享
2017/11/08 Python
Python利用matplotlib.pyplot绘图时如何设置坐标轴刻度
2018/04/09 Python
python实现无边框进度条的实例代码
2020/12/30 Python
详解Python爬虫爬取博客园问题列表所有的问题
2021/01/18 Python
HTML+CSS3 模仿Windows7 桌面效果
2010/06/17 HTML / CSS
公务员总结性个人自我评价
2013/12/05 职场文书
采购部主管岗位职责
2014/01/01 职场文书
宝宝周岁宴答谢词
2014/01/26 职场文书
给老婆大人的检讨书
2014/02/24 职场文书
生物科学专业毕业生求职信
2014/06/02 职场文书
经营理念口号
2014/06/21 职场文书
大学生第一学年自我鉴定
2014/09/12 职场文书
大学生求职简历自我评价
2015/03/02 职场文书
解决python绘图使用subplots出现标题重叠的问题
2021/04/30 Python
简单聊聊Vue中的计算属性和属性侦听
2021/10/05 Vue.js
DE1107机评
2022/04/05 无线电
Python开发五子棋小游戏
2022/05/02 Python