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.黑名单文件:将输入三次错误的用户加入 ...
- 微信小程序中用户登录和登录态维护
提供用户登录以及维护用户的登录状态,是一个拥有用户系统的软件应用普遍需要做的事情.像微信这样的一个社交平台,如果做一个小程序应用,我们可能很少会去做一个完全脱离和舍弃连接用户信息的纯工具软件. 让用户 ...
随机推荐
- Webhook
Webhook就是用户通过自定义回调函数的方式来改变Web应用的一种行为,这些回调函数可以由不是该Web应用官方的第三方用户或者开发人员来维护,修改.通过Webhook,你可以自定义一些行为通知到指定 ...
- CSS 类、伪类和伪元素差别具体解释
CSS中的类(class)是为了方便过滤(即选择)元素,以给这类元素加入样式,class是定义在HTML文档树中的. 可是这在一些情况下是不够用的,比方用户的交互动作(悬停.激活等)会导致元素状态发生 ...
- 消灭星星的数组高效率算法(c++代码,控制台程序)
#include <iostream> using namespace std; #define ROW 12 #define COL 10 class Star { public: en ...
- C++ 补课(一)
1,在C语言中,全局变量必须声明在所有的函数之前,局部变量必须声明在所有可执行语句之前: C++ 允许在代码块的任何位置对局部变量进行声明 2,常量定义方面,C语言 #define 可能因计算的优先级 ...
- pidof---查找指定名称的进程的进程号id号。
pidof命令用于查找指定名称的进程的进程号id号. 语法 pidof(选项)(参数) 选项 -s:仅返回一个进程号: -c:仅显示具有相同“root”目录的进程: -x:显示由脚本开启的进程: -o ...
- 数据结构(C实现)------- 单链表
在单链表中,每个结点包括两部分:存放每个数据元素本身信息的数据域和存放其直接后继存储位置的指针域. 单链表结点的类型描写叙述: typedef int ElemType; typedef struct ...
- Android学习笔记进阶18之画图并保存图片到本地
1.首先创建一个Bitmap图片,并指定大小: 2.在该图片上创建一个新的画布Canvas,然后在画布上绘制,并保存即可: 3.需要保存的目录File,注意如果写的目录如“/sdcard/so ...
- mahout用到的典型测试数据集
http://archive.ics.uci.edu/ml/databases/synthetic_control/ 继续
- MySQL乱码问题以及utf8mb4字符集---utf8mb4和utf8有什么区别? emoji表情与utf8mb4
utf8mb4兼容utf8,且比utf8能表示更多的字符. 关于emoji表情的话mysql的utf8是不支持,需要修改设置为utf8mb4,才能支持, 因为utf8mb4是utf8的超集
- scrapy爬取知乎某个问题下的所有图片
前言: 1.仅仅是想下载图片,别人上传的图片也是没有版权的,下载来可以自己欣赏做手机背景但不商用 2.由于爬虫周期的问题,这个代码写于2019.02.13 1.关于知乎爬虫 网上能访问到的理论上都能爬 ...