商城系统:包含用户注册/用户登陆/商品浏览/我的购物车功能.
"""import osimport jsonfrom datetime import datetime USER_STATUS = FalseUSER_COUNT = {}SHOPPING_CAR = {} def decorate(arg): def inner(): if not USER_STATUS: print('请先登陆后再查看!') return arg() return return inner def register(): while 1: username = input('注册用户名:') with open('8login.txt', 'r', encoding='utf-8') as f: register1 = True for line in f: if line.split('----')[0].strip() == username: register1 = False print('帐户已存在!') break if not register1: break pwd = input('密码:') sj = datetime.now().strftime('%Y-%m-%d %H:%M:%S') msg = '----'.join([username, pwd, sj, '0']) with open('8login.txt', 'a', encoding='utf-8') as f: f.write(msg + '\n') print('注册成功!') return def login(): while 1: username = input('用户名:') with open('8login.txt', 'r', encoding='utf-8') as f: status = False for line in f: if line.split('----')[0] == username: if line.split('----')[-1].strip() == '3': print('帐户已锁定!') return status = True break if not status: print('用户不存在!') return pwd = input('密码:') with open('8login.txt', 'r', encoding='utf-8') as f: for line in f: if line.split('----')[0] == username and line.split('----')[1] == pwd: USER_COUNT[username] = 0 print('登陆成功') global USER_STATUS USER_STATUS = username return if USER_COUNT.get(username) == None: USER_COUNT[username] = 0 if USER_COUNT[username] < 3: USER_COUNT[username] += 1 if not USER_COUNT[username] < 3: with open('8login.txt', 'r', encoding='utf-8') as f1, \ open('8login(改).txt', 'w', encoding='utf-8') as f2: for line in f1: if line.split('----')[0] == username: new_line = line.replace('0', '3') f2.write(new_line) else: f2.write(line) os.remove('8login.txt') os.rename('8login(改).txt', '8login.txt') print('输入错误超过3次,锁定账号!') return print('登录失败请重试!') @decoratedef goods(): f = open('8商品列表', 'r', encoding='utf-8') a = f.read() lst = a.split('\n') max_page, end = divmod(len(lst), 3) # 最大页,最后一页条数(总条数,每页条数) if end > 0: max_page += 1 x, y, z = 0, 3, 1 while 1: if y > len(lst): y = len(lst) for i in range(x, y): print(lst[i]) print('当前第%s页,共%s页.' % (z, max_page)) user = input('请输入序号加入到购物车,Y/y进入下一页,N/n退出:') if user.upper() == 'N': return '已退出' elif user.upper() == 'Y': x += 3 y += 3 z += 1 if y == len(lst) + 3: x, y, z = 0, 3, 1 continue elif user.isdigit(): pand = False f = open('8商品列表', 'r', encoding='utf-8') for line in f: cut = line.split('|') if user == cut[0]: pand = True if SHOPPING_CAR.get(cut[1]) == None: SHOPPING_CAR[cut[1]] = 0 break if not pand: print('输入错误!') continue while 1: count = input('请选择数量:') if not count.isdigit(): print('请输入阿拉伯数字!') continue SHOPPING_CAR[cut[1]] += int(count) date = datetime.now().strftime('%Y-%m-%d-%H-%M') global USER_STATUS dir_path = os.path.exists('shopping_car\\%s' % USER_STATUS) if not dir_path: os.mkdir('shopping_car\\%s' % USER_STATUS) with open("shopping_car\\%s\\%s.txt" % (USER_STATUS, date), 'w', encoding='utf-8') as f: up = json.dumps(SHOPPING_CAR, ensure_ascii=False) f.write(up) break print('已添加进购物车!') print(SHOPPING_CAR) else: print('输入有误!') @decoratedef shopping_car(): if not os.path.exists('shopping_car\\%s' % USER_STATUS): print('您的购物车是空的,快去购买吧!') return content = os.walk('shopping_car\\%s' % USER_STATUS) for a, b, c in content: for x in c: print(x) f = open('shopping_car\\%s\\%s' % (USER_STATUS, x), 'r', encoding='utf-8') for line in f: a = json.loads(line) for item in a: f = open('8商品列表', 'r', encoding='utf-8') ls = f.read().split('\n') for lm in ls: if lm.split('|')[1] == item: price = lm.split('|')[2] print(' %s|%s|%s个' % (item,price , a[item])) return def main(): ''' 主页面 :return: ''' dic = {'1': register, '2': login, '3': goods, '4': shopping_car} while 1: print('''*****欢迎来到沙河商城!*****1.注册帐户2.登陆帐户3.浏览商品4.查看购物车''') a = input('请选择(N/n退出):') if a.upper() == 'N': return if dic.get(a) == None: print('输入有误!') continue dic.get(a)() main()"""
转载于:https://www.cnblogs.com/zjx1/p/10745468.html
商城系统:包含用户注册/用户登陆/商品浏览/我的购物车功能.相关推荐
- springboot后台怎么获取前端传过来的excel_开源商城系统包含后台管理和手机端
此开源项目是一个基于Spring Boot和Vue.js的web商城系统 包含了商城的后台管理系统 提供了手机端的商城系统 小程序版开发中 app版(基于Flutter)开发中 功能模块 包含了后台管 ...
- 积分兑换商城系统怎么提高用户活跃度
积分兑换商城系统在互联网中,是提高用户活跃度的重要渠道,利用积分的价值和人气商品来吸引用户购物消费,活跃用户,提高销量.积分兑换商城系统怎么提高用户活跃度呢? 一.对消费群体进行了解 对消费群体的爱好 ...
- 微服务商城系统 实战记录 用户、商家、后台管理员注册与登录功能实现
代码见 https://github.com/betterGa/ChangGou 文章目录 一.用户注册 1.使用 ajax (POST 方法) 2.使用 thymeleaf 3.解决跨域问题 二.用 ...
- 小程序商城系统CRMEB Pro v1.1全新重构,新增DIY功能
CRMEB ProV1.1全新升级发布,真正实现了后台可自由拖拽组合实现首页布局的DIY功能,这一功能的实现,将告别过去千篇一律的同质化界面布局,真正实现个性化.高自由的随心组合.本次发布的版本中我们 ...
- 魔众积分商城系统 v1.3.0 后台菜单快捷搜索,框架功能升级
魔众积分商城系统提供积分商城,会员积分系统,积分兑换商城,积分系统,积分运营,营销活动工具,积分游戏.API接口对接会员积分系统,简单配置页面即可上线,助力企业会员运营管理. 魔众积分商城系统发布v1 ...
- 基于Node+Vue+Express开发实现商城系统
项目编号:BS-QD-006 前言: 2003年中国电子商城进入低谷期,在绝大多数人选择放弃电子商城的情况下,依旧有些企业仍未放弃,并苦苦坚持电子商城的发展.这使得人们不得不重新考虑如何定位新一代的电 ...
- vuecli 实战商城后台管理系统_前台商城系统及后台管理系统
概述内容 mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现. 前台商城系统包含首页门户.商品推荐.商品搜索.商品展示.购物车.订单流程.会员中心 ...
- 多用户商城系统商品表设计
多用户商城系统商品表用于存储商家上架的商品信息. 商品表(wst_goods) 字段名称 字段说明 字段描述 类型 长度 默认 必填 goodsId 自增ID int 11 是 1 goo ...
- B2B2C商城系统处理用户的支付和结算
B2B2C商城系统是指将B2B和B2C两种商业模式相结合,构建出的一种全新的商城系统.该系统不仅提供了针对企业的批量采购服务,还可以为消费者提供个性化的购物体验.当用户购买商品时,商城系统需要对其支付 ...
最新文章
- php time相差12小时_优化你的PHP代码,从现在做起
- 一个查看UI5控件所有公有方法的小技巧
- 计算机基本信息的获取
- 北京内推 | 微软亚洲互联网工程院(STCA)招聘NLP算法实习生
- iOS一些推荐的学习路径发展
- Linux / Ubuntu系统查看磁盘空间及目录容量
- html个版本间的特点,了解下什么是HTML5,他与以往的版本有什么区别 什么新元素...
- 你们计算机专业的学生应该看看这篇文章
- 破解key file时经常用到的几个API函数及其用法
- 这是我见过最全面的Python装饰器详解 没有学不会这种说法
- websocket握手失败_WebSocket握手期间出错:意外的响应代码:500
- 赢利定位是网站建设前提
- vue-router学习第一天
- c语言读取gps模块数据类型,GPS数据读取与处理(一)之GPS模块的数据格式
- 分享一款开源数据库建模工具--PDMan(可代替powerdesigner)
- 基于动态超图卷积网络的地铁客流预测
- Vue 实现PC端和移动端的自适应
- java 穷举_java循环穷举
- IVL和SVL的区别
- 使用Google Maps API和google-maps-react进行React Apps