当前位置:
首页 > Python基础教程 >
-
2020Python练习七——文件处理2
周末综合作业:
1、编写用户登录接口
#1、输入账号密码完成验证,验证通过后输出"登录成功"
#2、可以登录不同的用户
#3、同一账号输错三次锁定,(提示:锁定的用户存入文件中,这样才能保证程序关闭后,该用户仍然被锁定)
username1 = input('请输入你的名字:').strip() usercode1 = input('请输入你的密码:').strip() count=0 with open(r'D:\0tempt\db.txt',mode='rt',encoding='utf-8') as f: for line in f: #把用户输入的名字和密码与读出的内容作对比 username,usercode=line.strip('').split(':') if username1 == username and usercode1 == usercode: print('登录成功') break else: print('账号或密码错误,请重试') count+=1 else: print('账号或密码输错三次,账户已被锁定,请申请找回或修改密码') with open(r'D:\0tempt\clockeduser.txt',mode='wt',encoding='utf-8') as f: f.write('{}:{}'.format(username1,usercode1))
2、编写程序实现用户注册后,可以登录
提示:
while True:
msg = """
0 退出
1 登录
2 注册
"""
print(msg)
cmd = input('请输入命令编号>>: ').strip()
if not cmd.isdigit():
print('必须输入命令编号的数字,傻叉')
continue
if cmd == '0':
break
elif cmd == '1':
# 登录功能代码(附加:可以把之前的循环嵌套,三次输错退出引入过来)
pass
elif cmd == '2':
# 注册功能代码
pass
else:
print('输入的命令不存在')
while True:
msg = """
0 退出
1 登录
2 注册
"""
print(msg)
cmd = input('请输入命令编号>>: ').strip()
if not cmd.isdigit():
print('必须输入命令编号的数字,傻叉')
continue
if cmd == '0':
break
elif cmd == '1':
# 登录功能代码(附加:可以把之前的循环嵌套,三次输错退出引入过来)
count=0
with open(r'D:\0tempt\db.txt',mode='rt',encoding='utf-8') as f:
for line in f: #把用户输入的名字和密码与读出的内容作对比
username,usercode=line.strip('').split(':')
if username1 == username and usercode1 == usercode:
print('登录成功')
break
else:
print('账号或密码错误,请重试')
count+=1
else:
print('账号或密码输错三次,账户已被锁定,请申请找回或修改密码')
with open(r'D:\0tempt\clockeduser.txt',mode='wt',encoding='utf-8') as f:
f.write('{}:{}'.format(username1,usercode1))
elif cmd == '2':
# 注册功能代码
print("注册账号".center(40,"="))
info = {}
name = input("账号名:").strip()
pwd = input("账号密码:").strip()
# 读取文件中已存在的账号密码信息
with open("test1","r",encoding="utf-8") as f:
for line in f:
user_name, password = line.strip().split("-")
info[user_name] = password
else:
print('输入的命令不存在')
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式