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

相关文章

在线装修管理系统的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,装修队管理,用户管理,装修管理,基础数据管理,论坛管理 前台账户功能包括:系统首页,个人中心,公告信息,论坛,装修,装修队 开发系统:Windows 架构模式:B/S JDK版本:Java JDK1.8 开发工具:IDEA(推荐) 数据库版本: mysql5.7 数据库可视化工具: navicat 服务器:SpringBoot自带 ap

Python 字符串占位

在Python中,可以使用字符串的格式化方法来实现字符串的占位。常见的方法有百分号操作符 % 以及 str.format() 方法 百分号操作符 % name = "张三"age = 20message = "我叫%s,今年%d岁。" % (name, age)print(message) # 我叫张三,今年20岁。 str.format() 方法 name = "张三"age

基于Springboot + vue 的抗疫物质管理系统的设计与实现

目录 📚 前言 📑摘要 📑系统流程 📚 系统架构设计 📚 数据库设计 📚 系统功能的具体实现    💬 系统登录注册 系统登录 登录界面   用户添加  💬 抗疫列表展示模块     区域信息管理 添加物资详情 抗疫物资列表展示 抗疫物资申请 抗疫物资审核 ✒️ 源码实现 💖 源码获取 😁 联系方式 📚 前言 📑博客主页:

一道经典Python程序样例带你飞速掌握Python的字典和列表

Python中的列表(list)和字典(dict)是两种常用的数据结构,它们在数据组织和存储方面有很大的不同。 列表(List) 列表是Python中的一种有序集合,可以随时添加和删除其中的元素。列表中的元素可以是任何数据类型,包括数字、字符串、其他列表等。列表使用方括号[]表示,元素之间用逗号,分隔。 定义和使用 # 定义一个列表 fruits = ['apple', 'banana

Python应用开发——30天学习Streamlit Python包进行APP的构建(9)

st.area_chart 显示区域图。 这是围绕 st.altair_chart 的语法糖。主要区别在于该命令使用数据自身的列和指数来计算图表的 Altair 规格。因此,在许多 "只需绘制此图 "的情况下,该命令更易于使用,但可定制性较差。 如果 st.area_chart 无法正确猜测数据规格,请尝试使用 st.altair_chart 指定所需的图表。 Function signa

python实现最简单循环神经网络(RNNs)

Recurrent Neural Networks(RNNs) 的模型: 上图中红色部分是输入向量。文本、单词、数据都是输入,在网络里都以向量的形式进行表示。 绿色部分是隐藏向量。是加工处理过程。 蓝色部分是输出向量。 python代码表示如下: rnn = RNN()y = rnn.step(x) # x为输入向量,y为输出向量 RNNs神经网络由神经元组成, python

python 喷泉码

因为要完成毕业设计,毕业设计做的是数据分发与传输的东西。在网络中数据容易丢失,所以我用fountain code做所发送数据包的数据恢复。fountain code属于有限域编码的一部分,有很广泛的应用。 我们日常生活中使用的二维码,就用到foutain code做数据恢复。你遮住二维码的四分之一,用手机的相机也照样能识别。你遮住的四分之一就相当于丢失的数据包。 为了实现并理解foutain

python 点滴学

1 python 里面tuple是无法改变的 tuple = (1,),计算tuple里面只有一个元素,也要加上逗号 2  1 毕业论文改 2 leetcode第一题做出来

Python爬虫-贝壳新房

前言 本文是该专栏的第32篇,后面会持续分享python爬虫干货知识,记得关注。 本文以某房网为例,如下图所示,采集对应城市的新房房源数据。具体实现思路和详细逻辑,笔者将在正文结合完整代码进行详细介绍。接下来,跟着笔者直接往下看正文详细内容。(附带完整代码) 正文 地址:aHR0cHM6Ly93aC5mYW5nLmtlLmNvbS9sb3VwYW4v 目标:采集对应城市的

python 在pycharm下能导入外面的模块,到terminal下就不能导入

项目结构如下,在ic2ctw.py 中导入util,在pycharm下不报错,但是到terminal下运行报错  File "deal_data/ic2ctw.py", line 3, in <module>     import util 解决方案: 暂时方案:在终端下:export PYTHONPATH=/Users/fujingling/PycharmProjects/PSENe