python 之编写登陆接口
2024-09-26 05:55:44
基础需求:
- 让用户输入用户名密码
- 认证成功后显示欢迎信息
- 输错三次后退出程序
升级需求:
- 可以支持多个用户登录 (提示,通过列表存多个账户信息)
- 用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里)
1、多用户采用字典存用户信息,同一个用户输出三次用户就会被拉入黑名单锁定(同一用户可以连续或者非连续输错三次)
2、涉及到文件的建立,读取,写入知识点
user_info = {'aa':{'password':123,'count':3},
'bb': {'password': 123, 'count': 3},
'cc': {'password': 123, 'count': 3}}
while True:
user_name = input('用户名:>').strip()
pass_word = int(input('密码:>')).strip()
if user_name not in user_info:
continue
else:
file = open('black_name.txt','a')
with open('black_name.txt','r') as f_b:
f = f_b.read()
if user_name in f :
print('用户输错过多,被锁定!')
break
else:
if pass_word == user_info[user_name]['password']:
print('登录成功,欢迎您!')
break
else:
user_info[user_name]['count'] -= 1
print(f"您还有{user_info[user_name]['count']}次机会输入")
if user_info[user_name]['count'] == 0:
with open('black_name.txt','w') as f_b:
f = f_b.write(user_name)
print('您输错过多,被锁定!')
break
最新文章
- SQL Server 2012 Managed Service Account
- js去掉字符串前后空格的五种方法
- [原创] 用两个queue实现stack的功能
- Ubuntu下编译SuiteSparse-4.4.1和METIS-4.0.3
- NOIP 2014 普及组 T4 子矩阵
- Android 中如何获取 H5 保存在 LocalStorage 的数据
- 10 款精美的 CSS3 全新特效
- jdk的wsimport方法实现webservice客户端调用服务
- iOS开发——高级技术&;摇一摇功能的实现
- C# 翻页设计:首页,上一页,下一页,末页 ,跳转
- 来看看Github上流行的编码规范
- 打造支持apk下载和html5缓存的 IIS(配合一个超简单的android APP使用)具体解释
- Django中文无法转换成latin-1编码的解决方案
- bzoj1637 [Usaco2007 Mar]Balanced Lineup
- Spring XML 不给提示
- 架构漫谈:UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别
- jquery 表单 清空
- ReactNative学习之css样式使用
- Yacc 与 Lex 快速入门(词法分析和语法分析)
- scalajs_初体验
热门文章
- 使用 Visual Studio Code (VSCODE)写 C51 (持续更新 2018-04-09)
- RAW+ASM 的RAC 安装文档
- windows python3 安装gittle
- centos6/7安装gitlab
- http常用状态码说明
- ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded
- git Push failed: Could not read from remote repository 解决方案
- bzoj4928: 第二题
- Oracle学习操作(5)触发器
- jmeter监控服务器的方法