Python超市商品管理系统

2024-04-04 17:04

本文主要是介绍Python超市商品管理系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

系统需要用户先登录,再进行操作,其中包含一下功能菜单

1、显示商品列表
2、增加商品信息
3、删除商品
4、设置商品折扣
5、修改商品价格信息
6、退出

a、使用列表嵌套字典的方式保存用户数据(包含用户名、密码、姓名);
b、使用列表嵌套字典的方式保存商品数据(包含编号、名称、价格、折扣);
c、编写用户登录的函数,返回登录结果
d、循环提示菜单,业务完毕时返回主菜单,退出时回到登录页面;
e、将功能菜单中的业务功能各自编写到函数中
f、用户选择不同业务编号时,调用已经

# -*- coding:utf-8 -*-
# @Author : 小红牛
# 微信公众号:WdPython
# a、使用列表嵌套字典的方式保存用户数据(包含用户名、密码、姓名)
user1 = {"用户名": "111", "密码": "123", "姓名": "刘皇叔"}
user2 = {"用户名": "222", "密码": "123", "姓名": "李狗蛋"}
userlist = [user1, user2]# b、使用列表嵌套字典的方式保存商品数据(包含编号、名称、价格、折扣)
commodity1 = {"编号": "1001", "名称": "苹果", "价格": 8, "折扣": 1}
commodity2 = {"编号": "1002", "名称": "香蕉", "价格": 6, "折扣": 1}
commodity3 = {"编号": "1003", "名称": "西瓜", "价格": 5, "折扣": 1}
commoditylist = [commodity1, commodity2, commodity3]# 登录
def login():msg = "失败"count = 0while True:uname = input("请输入账号:")upwd = input("请输入密码:")for user in userlist:if uname == user["用户名"] and upwd == user["密码"]:print("登录成功,欢迎你", user["姓名"])msg = "成功"breakif msg == "失败":count += 1if count < 3:print("用户名密码错误!请重新登录", "输入第", count, "次")else:print("用户已锁定!")breakelse:breakreturn msg# 1、显示商品列表
def showProduct():print("----------产品信息----------")print("-编号----名称----价格----折扣-")for commodity in commoditylist:print("-" + commodity["编号"] + "----" + commodity["名称"] + "-----" + str(commodity["价格"]) + "-----" + str(commodity["折扣"]))print("----------------------------")# 2、增加商品信息
def addProduct():list1 = []for num in commoditylist:list1.append(int(num["编号"]))num = str(max(list1) + 1)print("----------添加商品信息----------")mc = input("请输入产品名称:")jg = float(input("请输入产品价格:"))zk = 1newProduct = {"编号": num, "名称": mc, "价格": jg, "折扣": zk}commoditylist.append(newProduct)print("商品" + mc + "添加成功")print("-------------------------------")showProduct()# 3、删除商品
def delproduct():showProduct()while True:msg = 0num = input("请输入要删除商品的编号")for product in commoditylist:if num == product["编号"]:print("商品", product["名称"], "正在删除")commoditylist.remove(product)print("删除成功!")msg = 1breakif msg == 0:print("输入的产品编号不正确,请重新输入")jx = input("取消输入请按1,继续请按2")if jx == 1:breakelif jx == 2:continueelse:print("输入错误请重新输入")else:showProduct()break# 4、设置商品折扣
def setDiscount():while True:mag = 0name = input("请输入要设置折扣的商品名称")for x in commoditylist:if name == x["名称"]:zk = float(input("请输入要设置产品的折扣(0.1-1)"))x["折扣"] = zkprint(x["名称"] + "的折扣为:" + str(zk))mag = 1breakif mag == 0:print("输入的商品名称不存在,请重新输入")jx = input("取消输入请按1,继续请按2")if jx == "1":breakelif jx == "2":continueelse:print("输入错误请重新输入")else:showProduct()break# 5、修改商品价格信息
def setPrice():while True:mag = 0num = input("请输入要设置价格的商品编号")for x in commoditylist:if num == x["编号"]:jg = float(input("请输入要设置产品价格"))x["价格"] = jgprint(x["名称"] + "的价格为:" + str(jg))mag = 1breakif mag == 0:print("输入的商品编号不存在,请重新输入")jx = input("取消输入请按1,继续请按2")if jx == "1":breakelif jx == "2":continueelse:print("输入错误请重新输入")else:showProduct()break# 6、根据价格排序显示商品列表
def sort():choice = int(input("请选择升序或者降序(1、升序 2、降序)"))clist = []for commodity in commoditylist:clist.append(commodity["价格"])clist = list(set(clist))if choice == 1:newlist = sorted(clist)for price in newlist:for product in commoditylist:if price == product["价格"]:print("-" + product["编号"] + "----" + product["名称"] + "-----" + str(product["价格"]) + "-----" + str(product["折扣"]))else:newlist = sorted(clist, reverse=True)for price in newlist:for product in commoditylist:if price == product["价格"]:print("-" + product["编号"] + "----" + product["名称"] + "-----" + str(product["价格"]) + "-----" + str(product["折扣"]))# 主程序开始
while True:result = login()if result == "成功":while True:print("*********主菜单*********")print("1、显示商品列表")print("2、增加商品信息")print("3、删除商品")print("4、设置商品折扣")print("5、修改商品信息")print("6、根据价格排序商品")print("7、退出")print("*********************")choice = int(input("请输入您的选项(1-7)"))if choice == 1:showProduct()elif choice == 2:addProduct()elif choice == 3:delproduct()elif choice == 4:setDiscount()elif choice == 5:setPrice()elif choice == 6:sort()elif choice == 7:print("------------系统已退出")breakelse:print("没有此功能请重新输入")continue

完毕!!感谢您的收看

----------★★历史博文集合★★----------

我的零基础Python教程,Python入门篇 进阶篇 视频教程 Py安装py项目 Python模块 Python爬虫 Json Xpath 正则表达式 Selenium Etree CssGui程序开发 Tkinter Pyqt5 列表元组字典数据可视化 matplotlib 词云图 Pyecharts 海龟画图 Pandas Bug处理 电脑小知识office自动化办公 编程工具 NumPy Pygame

这篇关于Python超市商品管理系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/876349

相关文章

Python中你不知道的gzip高级用法分享

《Python中你不知道的gzip高级用法分享》在当今大数据时代,数据存储和传输成本已成为每个开发者必须考虑的问题,Python内置的gzip模块提供了一种简单高效的解决方案,下面小编就来和大家详细讲... 目录前言:为什么数据压缩如此重要1. gzip 模块基础介绍2. 基本压缩与解压缩操作2.1 压缩文

Python设置Cookie永不超时的详细指南

《Python设置Cookie永不超时的详细指南》Cookie是一种存储在用户浏览器中的小型数据片段,用于记录用户的登录状态、偏好设置等信息,下面小编就来和大家详细讲讲Python如何设置Cookie... 目录一、Cookie的作用与重要性二、Cookie过期的原因三、实现Cookie永不超时的方法(一)

Python内置函数之classmethod函数使用详解

《Python内置函数之classmethod函数使用详解》:本文主要介绍Python内置函数之classmethod函数使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录1. 类方法定义与基本语法2. 类方法 vs 实例方法 vs 静态方法3. 核心特性与用法(1编程客

Python函数作用域示例详解

《Python函数作用域示例详解》本文介绍了Python中的LEGB作用域规则,详细解析了变量查找的四个层级,通过具体代码示例,展示了各层级的变量访问规则和特性,对python函数作用域相关知识感兴趣... 目录一、LEGB 规则二、作用域实例2.1 局部作用域(Local)2.2 闭包作用域(Enclos

Python实现对阿里云OSS对象存储的操作详解

《Python实现对阿里云OSS对象存储的操作详解》这篇文章主要为大家详细介绍了Python实现对阿里云OSS对象存储的操作相关知识,包括连接,上传,下载,列举等功能,感兴趣的小伙伴可以了解下... 目录一、直接使用代码二、详细使用1. 环境准备2. 初始化配置3. bucket配置创建4. 文件上传到os

使用Python实现可恢复式多线程下载器

《使用Python实现可恢复式多线程下载器》在数字时代,大文件下载已成为日常操作,本文将手把手教你用Python打造专业级下载器,实现断点续传,多线程加速,速度限制等功能,感兴趣的小伙伴可以了解下... 目录一、智能续传:从崩溃边缘抢救进度二、多线程加速:榨干网络带宽三、速度控制:做网络的好邻居四、终端交互

Python中注释使用方法举例详解

《Python中注释使用方法举例详解》在Python编程语言中注释是必不可少的一部分,它有助于提高代码的可读性和维护性,:本文主要介绍Python中注释使用方法的相关资料,需要的朋友可以参考下... 目录一、前言二、什么是注释?示例:三、单行注释语法:以 China编程# 开头,后面的内容为注释内容示例:示例:四

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

python常用的正则表达式及作用

《python常用的正则表达式及作用》正则表达式是处理字符串的强大工具,Python通过re模块提供正则表达式支持,本文给大家介绍python常用的正则表达式及作用详解,感兴趣的朋友跟随小编一起看看吧... 目录python常用正则表达式及作用基本匹配模式常用正则表达式示例常用量词边界匹配分组和捕获常用re