python3 登录验证小程序,同一用户输错三次密码,锁定账户
'''
让用户输入用户名密码
认证成功后显示欢迎信息
用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态
'''
# !/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Hiuhung Wan '''
让用户输入用户名密码
认证成功后显示欢迎信息
用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态
''' dic_user_info = {
"usera": {"pw": "123", "err_count": 0},
"userb": {"pw": "123", "err_count": 0},
"userc": {"pw": "123", "err_count": 0},
"userd": {"pw": "123", "err_count": 0},
"usere": {"pw": "123", "err_count": 0},
}
# 创建一个黑名单文件,这里把usera列入黑名单
try:
with open('blacklist.txt', 'r') as f:
if not f.read(): # 没有内容,就写入
with open('blacklist.txt', 'a') as f:
f.write("usera,")
except FileNotFoundError as e: # 没有这个文件,就创建并写入内容
with open('blacklist.txt', 'a') as f:
f.write("usera,")
finally:
f.close() # 关闭文件。 for i in range(100):
username = input("请输入用户名(按q退出程序):")
# 按q退出程序
if username == 'q':
exit() # 用户名不在字典中
elif username not in dic_user_info:
print("无此账户,请检查您的输入")
continue # 用户在字典中,但被锁定
with open('blacklist.txt', 'r') as f:
user_locked_list = f.read().split(",")
if username in user_locked_list:
print("账户%s已被锁定。。。请更换另一个账户" % username)
f.close()
continue
f.close() # 用户在字典中,也未被锁定,则提示输入密码
password = input("请输入密码:")
if password == dic_user_info[username]["pw"]: # 密码正确
print("欢迎【%s】登录系统。。。" % username)
break
else: # 密码错
dic_user_info[username]["err_count"] += 1 # 记录错误次数
if dic_user_info[username]["err_count"] < 3:
print("密码不对,您已经输错%d次密码了,输错3次账户将被锁定" % dic_user_info[username]["err_count"])
else: # dic_user_info[username]["err_count"] >= 3: # 输错3次,录入黑名单数据库
with open('blacklist.txt', 'a') as f:
f.write("%s," % username)
f.close()
print("输错3次密码,此账户已加入黑名单")
break
python3 登录验证小程序,同一用户输错三次密码,锁定账户的更多相关文章
- python 小程序,输错三次密码锁定账户
[root@sun ~]# cat 7.py #!/usr/bin/python # -*- coding=UTF-8 -*- usera_name = 'usera' usera_passwd = ...
- 简单的登录验证小程序_python
一.要求 输入用户名密码,验证成功之后显示欢迎信息,输错三次后锁定. 程序: #!/usr/bin/env python# _*_ coding:utf-8 _*_#Author:chenxz #将黑 ...
- python作业设计:输入用户名密码,认证成功后显示欢迎信息,输错三次后锁定
作业需求: 1.输入用户名密码 2.认证成功后显示欢迎信息 3.输错三次后锁定实现思路: 1.判断用户是否在黑名单,如果在黑名单提示账号锁定. 2.判断用户是否存在,如果不存在提示账号不存在. 3.判 ...
- python学习之最简单的用户注册及登录验证小程序
文章都是从我的个人博客上粘贴过来的哦,更多内容请点击 http://www.iwangzheng.com 正如很多同学所知道的,楼主开始学习python了,前进的道路曲曲折折,有荆棘也有陷阱,从最简单 ...
- Python3.5 Day1作业:实现用户密码登录,输错三次锁定。
作业需求: 1.输入用户名密码 2.认证成功后显示欢迎信息 3.输错三次后锁定 实现思路: 1.判断用户是否在黑名单,如果在黑名单提示账号锁定. 2.判断用户是否存在,如果不存在提示账号不存在. 3. ...
- python学习-实现用户密码登录,输错三次锁定
作业需求: 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 实现思路: 判断用户是否在黑名单,若在黑名单,则将用户锁定 判断用户是否存在,若不存在,提示用户不存在 若用户存在,判断登录密码是否 ...
- Python小程序之用户登陆接口
编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 程序逻辑图: 代码: #!/usr/bin/env python #_*_ coding:UTF-8 _*_ #__author_ ...
- python 循环和file操作实现用户密码输错三次将用户锁定
一.需求编写登录接口1.输入用户名密码2.认证成功后显示欢迎信息3.输错三次后锁定 二.简单思路登录,三次密码输入错误锁定用户1.用户信息文件:存放用户名和密码2.黑名单文件:将输入三次错误的用户加入 ...
- 微信小程序中用户登录和登录态维护
提供用户登录以及维护用户的登录状态,是一个拥有用户系统的软件应用普遍需要做的事情.像微信这样的一个社交平台,如果做一个小程序应用,我们可能很少会去做一个完全脱离和舍弃连接用户信息的纯工具软件. 让用户 ...
随机推荐
- 基于zookeeper实现分布式配置中心(二)
上一篇(基于zookeeper实现分布式配置中心(一))讲述了zookeeper相关概念和工作原理.接下来根据zookeeper的特性,简单实现一个分布式配置中心. 配置中心的优势 1.各环境配置集中 ...
- 洛谷 P1718 图形复原
P1718 图形复原 题目描述 HWX小朋友对几何的热爱在电脑组是出了名的,号称“每题必解”,这天,LXC在玩logo的时候突然想到了一个题目,刚好可以去测试一下他封号的虚实,于是,他logo编程画了 ...
- javaWeb自己定义可排序过滤器注解,解决Servlet3.0下@WebFilter注解无法排序问题
com.lwl.anno 凝视类型 @WebFilterSort 须要用的jar包 http://download.csdn.net/detail/u013202238/9431110 用该注解注冊的 ...
- 数据持久化(六)之Using CoreData with MagicalRecord
第五节里面,我介绍了CoreData的配置和主要的增删改查,可能非常多人会认为用它真繁琐.这里,我再介绍网上大神对它进行了人性化封装的第三方MagicalRecord,正如FMDB对sqlite进行了 ...
- 认识 Atlassian Datacenter 产品
认识 Atlassian Datacenter 产品 云端原本就是群集化的架构,Atlassian 系列产品.应用的开发团队相当广范且行之有年,可是将应用程序作为节点(比方Jira,confluenc ...
- 怎样通过MSG_WAITALL设置阻塞时间,IO模式精细讲解: MSG_DONTWAIT 、 MSG_WAITALL
首先给出MSDN上一段设置阻塞超时的代码:(网址为http://social.msdn.microsoft.com/Forums/zh-SG/visualcpluszhchs/thread/3d9da ...
- Spark 1.6.1 源码分析
由于gitbook网速不好,所以复制自https://zx150842.gitbooks.io/spark-1-6-1-source-code/content/,非原创,纯属搬运工,若作者要求,可删除 ...
- rpm---rpm包管理
rpm命令是RPM软件包的管理工具.rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎.逐渐受到其他发行版的采用.RPM ...
- iOS报错 -pie can only be used when targeting iOS 4.2 or later
近期,使用师兄的project时.突然报错之前没发现这个错误.信息例如以下: ld: -pie can only be used when targeting iOS 4.2 or later cla ...
- jquery--this
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...