Python实现简易超市管理系统
作者:顾城沐心 发布时间:2023-01-08 12:09:01
一:购物车管理功能
1.添加商品(不重复添加)、
2.删除商品(购物车中有的才能删除)、
3.查看购物车
4.退出系统
产品列表
products = [['iphone8', 6888], ['macPro', 15888],['小米8', 2599], ['coff', 50], ['book', 40], ['Nike shoes', 500]]
购物车列表
shopping = [‘'iphone8’]
#产品列表
products = [['iphone8', 6888], ['macPro', 15888],['小米8', 2599], ['coff', 50], ['book', 40],
['Nike shoes', 500]]
# 购物车列表
shopping = ['iphone8']
print("欢迎适用本系统,本系统初始状态如下:")
print("产品列表:\n",products)
print("购物车列表:\n",shopping)
while True:
while True:
try:
fun_num = int(input("\n请选择购物车功能:\n1.添加商品\t2.删除商品\t3.查看购物车 4.退出系统\n"))
break
except ValueError:
print("输入错误,请重新输入!")
# 1.添加商品 (不重复添加)
if fun_num == 1:
goods = input("请选择要添加的商品\n")
for index , item in enumerate(products):
#判断商品是否在商品列表中
if goods == item[0] and goods != '':
#判断商品是否已经在购物车中
if goods not in shopping:
shopping.append(goods)
print("添加成功!")
else:
print("该商品已在购物车内!")
break
else:
print("输入的产品不在产品列表中!")
# 2. 删除商品
elif fun_num == 2:
move_goods = input("请选择要移出购物车的商品:\n")
if move_goods in shopping:
shopping.remove(move_goods)
print("移除成功")
else:
print("该商品不存在购物车内!")
# 3. 查看购物车
elif fun_num == 3:
print(shopping)
# 4. 退出系统
elif fun_num == 4:
print("感谢您使用本系统!")
break
else:
print("指令错误,请重新输入!")
二:用户管理功能
1.增加用户信息
2.删除用户信息3.查看用户信息4.退出系统
用户数据格式:
user_sys = [
{'name': 'lily', 'sex': 'female', 'birth': '1998'},
{'name': 'Tom', 'sex': 'male', 'birth': '2000'},
{'name': 'Jane', 'sex': 'female', 'birth': '1999'}
]
#用户数据格式 字典列表
user_sys = [
{'name': 'lily', 'sex': 'female', 'birth': '1998'},
{'name': 'Tom', 'sex': 'male', 'birth': '2000'},
{'name': 'Jane', 'sex': 'female', 'birth': '1999'}
]
print("欢迎使用本系统,本系统初始状态如下:")
print("用户数据:\n",user_sys)
while True:
while True:
try:
fun_num = int(input("\n请选择用户管理功能:\n1.增加用户信息\t2.删除用户信息\t3.查看用户信息 4.退出系统\n"))
break
except ValueError:
print("输入错误,请重新输入!")
#1.增加用户信息
if fun_num == 1:
name = input("请输入新用户名称:\n")
for index,item in enumerate(user_sys):
#判断用户是否存在在用户信息列表中
if name == item['name'] and name != "":
print("该用户已经在用户列表中!")
break
else:
sex = input("请输入新用户性别[female,male]:\n")
#判断性别是否输入正确
if sex != "female" and sex != "male":
print("用户性别输入错误,默认为男性!")
sex = "male"
#限制输入的年份为整型
while True:
try:
birth = int(input("请输入新用户出生年份:\n"))
#年份合法判断
break
except ValueError:
print("年份输入错误,请重新输入!")
user_sys.append({"name":name,"sex":sex,"birth":birth})
# 2. 删除用户信息
elif fun_num == 2:
move_users = input("请输入要删除的用户姓名:\n")
for index,item in enumerate(user_sys):
#判断用户是否存在在用户列表中
if move_users in item['name']:
user_sys.remove(item)
print("删除成功!")
break
else:
print("输入的用户姓名不在用户数据列表中!")
# 3. 查看用户信息
elif fun_num == 3:
print(user_sys)
# 4. 退出系统
elif fun_num == 4:
print("感谢你使用本系统!")
break
else:
print("指令错误,请重新输入!")
三:AI客服对话
(1)包含问题关键词、对应的答案
(2)实现控制台输入问题,自动进行答复
(3)如果没有对应的关键词,回复正在学习中...
数据结构:
a_q = [
{
'q': ['优惠券', '优惠', '赠品'],
'answer': "本店成本价出售,没有优惠"
},
{
'q': ['发货', '快递'],
'answer': "3日之内发邮政快递"
},
{
'q': ['尺寸', '码', '号'],
'answer': "可以加入购物车的商品都有"
}
]
a_q = [
{
'q': ['优惠券', '优惠', '赠品'],
'answer': "本店成本价出售,没有优惠"
},
{
'q': ['发货', '快递'],
'answer': "20日之内发邮政快递"
},
{
'q': ['尺寸', '码', '号'],
'answer': "可以加入购物车的商品都有"
}
]
question = input("欢迎使用本系统,请问你需要什么服务:\n")
while True:
flag = False
for index,item in enumerate(a_q):
for key in item['q']: #遍历问题列表
if key in question:
print(item['answer'])
flag = True
break
if flag:
break
if not flag:
print("AI正在学习中...")
question = input("\n请问您还需要什么服务吗?\n")
if question in ['无','没有','再见','bye','no']:
print("欢迎下次光临")
break
来源:https://blog.csdn.net/m0_56051805/article/details/126994506
猜你喜欢
- 一、问题引出浅拷贝首先看下面代码的执行情况:a = [1, 2, 3]print('a = %s' % a) # a = [
- 在 Django 网站中使用 mailgun 的邮件收发服务。1.在 mailgun 官网上注册个账号(免费,免费账号每个月有10000条收
- 本文实例讲述了Python基于回溯法子集树模板解决数字组合问题。分享给大家供大家参考,具体如下:问题找出从自然数1、2、3、...、n中任取
- 二叉树的反序列化反序列化树的反序列化故名知意就是将一个序列化成字符串或者其它形式的数据重新的生成一颗二叉树,如下这颗二叉树将它序列化成字符串
- 组件的基本使用注册组件注册组件就是利用Vue.component()方法,先传入一个自定义组件的名字,然后传入这个组件的配置。 Vue.co
- 事件背景最近业务研发反映了一个需求:能不能让现有基于 gin 的 webservice 框架能够自己输出 response 的信息,尤其是
- 目录快速使用模式总结今天学个简单点的😀,termtables处理表格形式数据的输出。适用于随时随地的输出一些状态或统计数据,便于观察和调试。
- 页级:引擎 BDB。表级:引擎 MyISAM , 理解为锁住整个表,可以同时读,写不行行级:引擎 INNODB , 单独的一行记录加锁表级,
- 使用 argparse 模块为应用程序设置命令行选项。有一些第三方库用于命令行解析,但标准库 argparse 与之相比也毫不逊色。无需添加
- 通过将身份认证令牌直接传给 API 服务器,可以避免使用 kubectl 代理,像这样:使用 grep/cut 方式:# 查看所有的集群,因
- 幸运草又名四叶草,一般指四叶的苜蓿、或车轴草。在十万株苜蓿草中,你可能只会发现一株是四叶草,机会率大约是十万分之一。因此四叶草是国际公认的幸
- 我们在使用Django的models查询数据库时,可以看到有这种写法:form app.models import&nb
- 问题问题1Python是一种动态语言,不支持类型检查。当需要对一个对象执行类型检查时,可能会采用下面的方式:class Foo(object
- 本文主要介绍的是Python高阶函数与装饰器函数的相关内容,分享给大家,下面话不多说了,来一起看看详细的介绍吧高阶函数1、可以使用函数对象作
- 前言:为了帮助广大考生和家长了解高考历年的录取情况,很多网站都汇总了各省市的录取控制分数线,为广大考生填报志愿提供参考。因受多种因素影响,每
- Jquery Material Form Plugin是一款基于Bootstrap的Material Design风格的jQuery表单插件
- 概述从今天开始, 小白我将带领大家一起来补充一下 数据库的知识.数据控制语言数据控制语言 (Data Control Language) 是
- 前言视图是数据库系统中一种非常有用的数据库对象。MySQL 5.0 之后的版本添加了对视图的支持。认识视图视图是一个虚拟表,其内容由查询定义
- 免责声明:本教程所有资源均来源于网络;仅用于学习交流,请勿用于任何商业行为;如需要,请使用正版授权;侵权联删。此篇教程通过无限重置试用期持续
- 输入:数字m mm,n nn输出:m mm行n nn列的数字蛇形方阵1. 从方阵最左上角开始,顺时针向内填充。初始化一个m mm行n nn列