本文实例为大家分享了python超市商品销售管理系统的具体代码,供大家参考,具体内容如下

需求分析:超市销售管理系统功能

1.欢迎用户使用超市销售管理系统,提示用户登录,如果是用户名为admin,密码为123456,则管理员身份。 如果是其他用户(可以自己设置也可随意接收),则是顾客身份。

2.如果用户是管理员身份,提示用户输入编号,选择对应功能

输入编号"1":显示商品的信息 (编号 商品名称 价格)

输入编号"2":添加商品信息 (输入编号,商品名称,价格)

输入编号"3":删除商品信息 (输入编号,删除对应的名称和价格)

输入编号"4":退出系统功能

3.如果用户是顾客身份,只有一个功能:购买商品,

展示所有商品信息,用户循环输入商品编号和购买数量,输入n时,退出系统,并提示用户总价格。

涉及到的知识点

编程语言变量,语句,函数

面向对象思想结合编程语言进行类的封装与方法的调用

常见数据容器列表与字典的使用

程序中对于文件的操作

因为涉及对于文件的读取和写入,建议大家在程序开始前,先确定文件内容的格式,有效合理的表达商品内容,我采取以下格式,在项目工程目录下创建shop.txt文件夹

逻辑分析:

增删查买都是对于商品的操作,商品信息包括编号名称和价格,可以将信息封装到对象当中,可创建对象所属的类Goods。然后对于增删等操作应该属于管理系统的功能,所以将相关功能封装到ShopManager类当中。在进入系统时,应该首先查看之前是否有存储信息,所以要读取文件写入到内存中,增删操作都是通过编号作为索引,所以可以选择字典dict数据结构作为内存存储容器,然后增删都是对于字典的操作,当系统退出时,在将数据更新写入到文件中,避免恶意修改文件,恶意提交。

功能实现代码:

首先创建表达商品对象的Goods类

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

将对于商品操作的函数放到ShopManager类当中,功能包括管理员以及普通用户的,在登录后进行分流选择。

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()

最后我们可在main语句中,调用登录方法,会自动选择相关功能。

if __name__ == '__main__':

shopManage = ShopManager("shop.txt")

shopManage.login()

上述代码运行后,会实现的效果为:

以上项目案例将学习内容进行了统一整理和综合,相信同学们顺利理解和敲出这部分代码。

更多学习资料请关注专题《管理系统开发》。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

python实现超市商品销售管理系统_python实现超市商品销售管理系统相关推荐

  1. python制作个人信息管理系统_python实现简易学生信息管理系统

    本文实例为大家分享了python实现学生信息管理系统的具体代码,供大家参考,具体内容如下 简易学生信息管理系统主要功能有 1 录入学生信息 2 查找学生信息 3 删除学生信息 4 修改学生信息 5 排 ...

  2. python药店销售数据分析_Python:某医院药品销售数据分析

    数据分析步骤: 提出问题-理解数据-数据清洗-构建模型-数据可视化 下面就拿2018年朝阳医院销售数据按上述步骤进行分析. 1.提出问题 根据拿到的销售数据字段信息,我们对以下三个业务指标进行分析 . ...

  3. python实现商品管理系统_python实现超市商品销售管理系统

    本文实例为大家分享了python超市商品销售管理系统的具体代码,供大家参考,具体内容如下 class Goods(object): def __init__(self, id, name, price ...

  4. python实现简易版成绩管理系统_Python 实现简易版成绩管理系统!

    上一次,公众号介绍了如何使用 Python 实现单链表,下面让我们一探单链表的简单应用:在命令行,实现简易版成绩管理系统. 这次的简易版成绩管理系统,主要有六大功能:增加学生信息.删除学生信息.修改学 ...

  5. python简易版成绩管理系统_Python 实现简易版成绩管理系统

    上一次,公众号介绍了如何使用 Python 实现单链表,下面让我们一探单链表的简单应用:在命令行,实现简易版成绩管理系统. 这次的简易版成绩管理系统,主要有六大功能:增加学生信息.删除学生信息.修改学 ...

  6. python课程设计汽车销售管理系统_Python课程设计:汽车销售管理系统

    """ 汽车销售管理系统功能 根据实验指导书要求,完成相关软件系统的设计,要求内容翔实,条理清晰,主要(关键代码)须有详细注释, 写清楚测试结果,并分析存在的问题: 1) ...

  7. 用python设计学生管理系统_Python实现GUI学生信息管理系统

    本文实例为大家分享了Python实现GUI学生信息管理系统的具体代码,供大家参考,具体内容如下 项目环境: 软件环境: OS:RedHat6.3 Lib:Pygtk Language:Python S ...

  8. python实现简单的名字管理系统_python列表使用实现名字管理系统

    python列表使用实现名字管理系统 来源:中文源码网    浏览: 次    日期:2019年11月5日 [下载文档:  python列表使用实现名字管理系统.txt ] (友情提示:右键点上行tx ...

  9. python人员管理系统_python如何实现大学人员管理系统 python实现大学人员管理系统实例...

    本篇文章小编给大家分享一下python实现大学人员管理系统实例,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. python作为一个面对对象的程序设计语言,实现一个人员管理系 ...

  10. 用python制作一个学生信息管理软件_python实现简单学生信息管理系统

    python简单的学生信息管理系统-文件版,供大家参考,具体内容如下 功能如下 主函数部分 增加学生信息 修改学生信息 删除学生信息 查询学生 显示所有学生的信息 将数据录入文件 读取文件数据 学习文 ...

最新文章

  1. C/C++中switch用法的一种替换方式
  2. ASP.NET上传文件管理控件
  3. hbase中对deadserver处理存在的问题
  4. java batik_Batik详解.pdf
  5. mysql int 最大显示宽度_mysql int 整数类型 解释显示宽度 和 存储宽度
  6. Asp.net禁用页面缓存的方法总结
  7. 用R读取Excel的新方法
  8. BERT-BiLSTM-CRF命名实体识别应用
  9. 文本分类(2)——取特征词构建词典
  10. 什么是服务器?服务器是干什么用的?
  11. poi实现Excel文件写入 支持后缀XLSX格式
  12. NFC应用 - 会展用
  13. Oracle 登陆数据库的方式
  14. 如何理解递归的原理?
  15. 模板模式实现后端公众号登录功能,Java8版
  16. HP Color LaserJet MFP M181fw 耗材问题解决办法
  17. 无法打开模块文件“C:\Users\sq\AppData\Local\Temp\.NETFramework,Version=v4.5,AssemblyAttributes.vb”:系统找不到指定的文件
  18. CP2102 USB转串口电路设计以及介绍
  19. 按键精灵+大漠插件简单数字验证码识别实践笔记
  20. 在 VMware 14 中安装 win10 虚拟机

热门文章

  1. SpringBoot 2.3.x gradle源码构建
  2. 28款数据恢复软件分类介绍
  3. 全志平台BSP裁剪(2)附件一 General setup配置说明
  4. DataParallel使用
  5. 我的第一个项目(员工绩效管理系统 步骤超级详细---未完待更...)
  6. jboss下载(jboss安装与配置)
  7. 来JavaEye两年了
  8. opengl+qt+vs学习笔记1:软件下载安装以及配置
  9. VS2019 配置OpenGL
  10. Windows提权实战——————1、IIS6.exe提权实战