模块 , 用户管理系统 , 购物车程序 , 分页显示.
#!/usr/bin/env python# -*- coding:utf-8 -*- # 1.列举你常见的内置函数。"""强制转换:int() / str() / list() / dict() / tuple() / set() / bool()数学相关:sum() / max() / min() / divmod() / float() / abs()输入输出:input() / print()其他:len() / open() / type() / id() / range()""" # 2.列举你常见的内置模块?'''json / getpass / os / sys / random / hashlib / copy / shutil / time''' # 3.json序列化时,如何保留中文?'''import jsona = '你好's = json.dumps(a,ensure_ascii=False)print(s)'''
# 4.程序设计:用户管理系统# 功能:# 1.用户注册,提示用户输入用户名和密码,然后获取当前注册时间,最后将用户名、密码、注册时间写入到文件。# 2.用户登录,只有三次错误机会,一旦错误则冻结账户(下次启动也无法登录,提示:用户已经冻结)。 """from datetime import datetimeimport os USER = {} def user(): ''' 注册用户 :return: ''' username = input('注册用户名:') with open('4用户注册.txt', 'r', encoding='utf-8') as f: for line in f: if line.split('_')[0].strip() == username: return '帐户已存在!' pwd = input('密码:') sj = datetime.now().strftime('%Y-%m-%d %H:%M:%S') msg = '_'.join([username, pwd, sj, True]) with open('4用户注册.txt', 'a', encoding='utf-8') as f: f.write(msg + '\n') return '注册成功!' def login(): ''' 登陆 :return: ''' while 1: username = input('用户名:') with open('4用户注册.txt', 'r', encoding='utf-8') as f2: status = False for line in f2: if line.split('_')[0] == username: if line.split('_')[-1].strip() == 'False': return '帐户已锁定!' status = True break if not status: return '用户不存在!' pwd = input('密码:') with open('4用户注册.txt', 'r', encoding='utf-8') as f: for line in f: if line.split('_')[0] == username and line.split('_')[1] == pwd: USER[username] = 0 return '登陆成功' if USER.get(username) == None: USER[username] = 0 if USER[username] < 3: USER[username] += 1 if not USER[username] < 3: with open('4用户注册.txt', 'r', encoding='utf-8') as f1,open('4用户注册(改).txt', 'w', encoding='utf-8') as f2: for line in f1: if line.split('_')[0] == username: new_line = line.replace('True', 'False') f2.write(new_line) else: f2.write(line) os.remove('4用户注册.txt') os.rename('4用户注册(改).txt', '4用户注册.txt') return '输入错误超过3次,锁定账号!' print('登录失败请重试!')print(user())print(login())""" # 5.有如下文件,请通过分页的形式将数据展示出来。【文件非常小】# 商品|价格# 飞机|1000# 大炮|2000# 迫击炮|1000# 手枪|123# ... '''def func(): f = open('5-6商品列表.txt', 'r', encoding='utf-8') a = f.read() # 全部读到内存 lst = a.split('\n') max_page, mowei = divmod(len(lst), 3) # 最大页,最后一页条数(总条数,每页条数) if mowei > 0: max_page += 1 while 1: user = input('要查看第几页(N/n退出):') if user.upper() == 'N': return if not user.isnumeric() or int(user) not in range(1, max_page+1): print('输入有误!请重新输入!') continue start = (int(user)-1)*3 end = (int(user))*3 data = lst[start+1:end+1] print(lst[0]) for i in data: print(i.strip()) if not (int(user)>max_page or int(user)<1): print('当前第%s页,共%s页.' % (user,max_page)) func()''' # 6.有如下文件,请通过分页的形式将数据展示出来。【文件非常大】 # 商品|价格# 飞机|1000# 大炮|2000# 迫击炮|1000# 手枪|123 """def func(): f = open('5-6商品列表.txt', 'r', encoding='utf-8') a = f.readlines() # 所有行组成一个列表 print(a) max_page, mowei = divmod(len(a), 3) # 最大页,最后一页条数(总条数,每页条数) if mowei > 0: max_page += 1 while 1: user = input('要查看第几页(N/n退出):') if user.upper() == 'N': return if not user.isnumeric() or int(user) not in range(1, max_page+1): print('输入有误!请重新输入!') continue start = (int(user)-1)*3 end = (int(user))*3 data = a[start+1:end+1] print(a[0].strip()) for i in data: print(i.strip()) if not (int(user)>max_page or int(user)<1): print('当前第%s页,共%s页.' % (user,max_page)) func()""" # 7.程序设计:购物车# 有如下商品列表 GOODS_LIST,用户可以选择进行购买商品并加入到购物车 SHOPPING_CAR 中且可以选择要购买数量,购买完成之后将购买的所# 有商品写入到文件中【文件格式为:年_月_日.txt】。# 注意:重复购买同一件商品时,只更改购物车中的数量。"""SHOPPING_CAR = {} # 购物车 GOODS_LIST = [ {'id': 1, 'title': '飞机', 'price': 1000}, {'id': 3, 'title': '大炮', 'price': 1000}, {'id': 8, 'title': '迫击炮', 'price': 1000}, {'id': 9, 'title': '手枪', 'price': 1000},] # 商品列表from datetime import datetime def shopping(): while 1: for i in GOODS_LIST: print('序号:' + str(i['id']) + ' 商品:' + i['title'] + ' 价格:' + str(i['price'])) user = input('请输入序号加入到购物车(N/n退出):') if user.upper() == 'N': return '退出' pand = False for j in GOODS_LIST: if int(user) == j['id']: pand = True if SHOPPING_CAR.get(j['title']) == None: SHOPPING_CAR[j['title']] = 0 break if not pand: print('输入错误!') continue while 1: count = input('请选择数量:') if not count.isdigit(): print('请输入阿拉伯数字!') continue SHOPPING_CAR[j['title']] += int(count) date = datetime.now().strftime('%Y_%m_%d') with open("%s.txt" % date, 'w', encoding='utf-8') as f: f.write(str(SHOPPING_CAR)) break print('已添加进购物车!') print(SHOPPING_CAR) a = shopping()print(a)"""
转载于:https://www.cnblogs.com/zjx1/p/10732518.html
模块 , 用户管理系统 , 购物车程序 , 分页显示.相关推荐
- 【php毕业设计】基于php+mysql+apache的subversion用户管理系统设计与实现(毕业论文+程序源码)——用户管理系统
基于php+mysql+apache的subversion用户管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于php+mysql+apache的subversion用户管理系统设计 ...
- 使用javaweb进行用户管理系统的增删改查,分页和条件查询
使用javaweb进行用户管理系统的增删改查,分页和条件查询 如有转载请标注来源!!!谢谢配合 源码已经上传,可以自行下载 https://download.csdn.net/download/wei ...
- Bootstrap4+MySQL前后端综合实训-Day07-PM【用户信息管理页面——功能展示(分页显示数据、添加用户、批量删除用户、编辑用户信息)、servlet项目代码整理汇总】
[Bootstrap4前端框架+MySQL数据库]前后端综合实训[10天课程 博客汇总表 详细笔记][附:实训所有代码] 目 录 页面展示 分页显示数据 添加用户信息 (单个/批量)删除用户 编辑 ...
- Java黑皮书课后题第5章:*5.48(处理字符串)编写一个程序,提示用户输入一个字符串,显示奇数位置的字符
5.48(处理字符串)编写一个程序,提示用户输入一个字符串,显示奇数位置的字符 题目 题目概述 运行示例 破题 代码 题目 题目概述 5.48(处理字符串)编写一个程序,提示用户输入一个字符串,显示奇 ...
- Java黑皮书课后题第4章:4.20(字符串处理)编写一个程序,提示用户输入一个字符串,显示它的长度和第一个字符
4.20(字符串处理)编写一个程序,提示用户输入一个字符串,显示它的长度和第一个字符 题目 题目概述 破题 代码 题目 题目概述 4.20(字符串处理)编写一个程序,提示用户输入一个字符串,显示它的长 ...
- Java黑皮书课后题第3章:*3.18(运输成本)一个运输公司使用下面的函数,根据运输重量(以磅为单位)来计算运输成本(美元为单位)。编写程序,提示用户输入包裹重量,显示运输成本
*3.18(运输成本)一个运输公司使用下面的函数,根据运输重量(以磅为单位)来计算运输成本(美元为单位).编写程序,提示用户输入包裹重量,显示运输成本 题目 题目概述 注意 代码 System.exi ...
- 购物车程序二(模拟了用户登录,限次数三次)
1 ''' 2 #作业二:请闭眼写出购物车程序 3 goods = [ 4 {"name": "电脑", "price": 1999}, 5 ...
- 微信小程序——读取显示用户头像昵称
微信小程序--读取显示用户头像昵称 代码仓库地址 一.实验目标 1.学习使用快速启动模板创建小程序的方法: 2.学习不使用模板手动创建小程序的方法. 二.实验步骤 2.1 自动生成小程序 完成开发者注 ...
- 计算机毕业设计Java课堂管理系统小程序用户端(源码+mysql数据库+系统+lw文档)
计算机毕业设计Java课堂管理系统小程序用户端(源码+mysql数据库+系统+lw文档) 计算机毕业设计Java课堂管理系统小程序用户端(源码+mysql数据库+系统+lw文档) 本源码技术栈: 项目 ...
最新文章
- 最新!2021 中国内地大学 ESI 排名出炉
- 12.5.2 升12.5.3的补丁 linux下载,游戏1.17/2.12/3.8/4.5/5.2更新内容[附离线补丁下载地址]...
- UIScrollView属性和用法
- phpstorm配置Xdebug进行调试PHP教程
- boost::adjacency_matrix用法的测试程序
- 被3整除的子序列(简单dp)
- Jupiter黑客松——IPFS开发者大赛火热报名中!
- [读书笔记] 两则之一: 100Gbps传输
- 给妹子修电脑,会有哪些故事?
- javaScript学习笔记之break 和 continue 语句对比
- 【OpenCV】OpenCV实战从入门到精通图像的载入、显示与输出
- while java_(Java) while循环
- 基于朴素贝叶斯分类器的西瓜数据集 2.0 预测分类_第十章:利用Python实现朴素贝叶斯模型
- 网游实时对战同步技术三篇
- python单位转换编程_如何使用python编程将一组DNA序列转换为蛋白...
- 力荐 50 个最实用的免费机器学习数据集
- 小程序视频不显示进度条,且不能滑屏快进
- 几幅图教你区分数字地、模拟地、电源地、单点接地
- 一个13年ABAP老兵的建议:了解这些基础知识,对ABAP开发有百利而无一害
- 041基于频域分离算子的SINS抗晃动干扰初始对准算法
热门文章
- Ansible学习笔记——vault加密
- 超详细版本vue+capacitor(自定义capacitor插件)编写移动端应用
- 小米mix2s android8,小米8和MIX2S哪个好?小米MIX2S和小米8区别对比 (全文)
- 7000 字 + 21 图,微服务架构概述
- rup 裁剪_裁剪的英语翻译,裁剪用英文怎么写、英语怎么说,中译英-xyz翻译网
- Codeforces Round #702 (Div. 3) C. Sum of Cubes
- PL/SQL Developer中拼接超长clob字段sql示例
- rinetd 在生产环境要谨慎使用
- C# Web Mvc 企业微信 回调
- 爬取全国未来十五天的天气数据(python3)