python3.0 模拟用户登录,三次错误锁定的实例


Posted in Python onNovember 02, 2017

python3.0 模拟用户登录,三次错误锁定的实例

实例如下所示:

# -*- coding:utf-8 -*-
#需求模拟用户登录,超过三次错误锁定不允许登陆
 
 
count = 0
 
#realname passwd
Real_Username = "test"
Real_Password = "test"
 
#读取黑名单的内容
f = open('black_user','r')
lock_file = f.read()
f.close()
 
Username = input('请输入用户名:')
 
#判断输入用户是否在黑名单内,如果在则不允许输入密码
for i in range(1):
 if lock_file == Username:
  print('对不起,您的用户已锁定,暂时不允许使用!')
  exit()
 else:
  continue
 
#尝试输入密码并对输入次数进行计数
for i in range(3):
 Password = input("请输入密码:")
 if Username == Real_Username and Password == Real_Password:
  print("登录成功")
  break
 else:
  print("登录失败")
 count += 1
 
#如果输入三次错误密码,则提示用户名锁定,并将用户名拉黑
if count == 3:
 print("对不起,您输入的密码错误次数已经达到3次,您的用户名将被锁定")
 f = open("black_user","w")
 f.write("%s"%Username)
 f.close()

python基础-实现用户密码登录,输错三次锁定

作业需求:

1.输入用户名密码

2.认证成功后显示欢迎信息

3.输错三次后锁定

实现思路:

1.判断用户是否在黑名单,如果在黑名单提示账号锁定。

2.判断用户是否存在,如果不存在提示账号不存在。

3.判断账号密码是否正确,如果正确登录进去。如果不正确有三次输入密码机会。三次全部输错,账号锁定。

#!/usr/bin/env python
#_*_conding:utf-8_*_
 
count = 0  #计数器
username = "aaa" #登录用户名
userpassword = "asd" #登录密码
 
#读取黑名单用户
f = open("aaa.txt","r")
file_list = f.readlines()
f.close()
 
lock = []
name = input("登录用户名:")
 
#判断用户是否在黑名单
for i in file_list:
  line=i.strip("\n")
  lock.append(line)
if name in lock:
  print ("您的账号已锁定,请联系管理员。")
else:
#如果用户没有在黑名单,判断用户是否存在。
 if name == username:
#如果密码连续输错三次,锁定账号。
   while count <3:
     password = input("登录密码:")
     if name == username and password == userpassword:
        print("欢迎,%s" %name )
        break
     else:
        print("账号密码不匹配")
        count += 1
   else:
    print ("对不起,您的账号连续输错三次账号已锁定,请联系管理员。")
    f=open("aaa.txt","w+")
    li=['%s'%username]
    f.writelines(li)
    f.close()
 else:
   print ("用户名不存在,请输入正确的用户名。")

以上这篇python3.0 模拟用户登录,三次错误锁定的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中正则表达式的使用详解
Oct 17 Python
Python脚本实现DNSPod DNS动态解析域名
Feb 14 Python
Centos5.x下升级python到python2.7版本教程
Feb 14 Python
在Django的视图中使用数据库查询的方法
Jul 16 Python
Python 详解基本语法_函数_返回值
Jan 22 Python
Python解析并读取PDF文件内容的方法
May 08 Python
Python操作MySQL数据库的方法
Jun 20 Python
对python list 遍历删除的正确方法详解
Jun 29 Python
Python中常用的内置方法
Jan 28 Python
python字典排序的方法
Oct 12 Python
Python流程控制常用工具详解
Feb 24 Python
Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值)
Jul 20 Python
Python安装Numpy和matplotlib的方法(推荐)
Nov 02 #Python
Python 多进程并发操作中进程池Pool的实例
Nov 01 #Python
python 3.0 模拟用户登录功能并实现三次错误锁定
Nov 01 #Python
python 简单搭建阻塞式单进程,多进程,多线程服务的实例
Nov 01 #Python
Python编程实现双链表,栈,队列及二叉树的方法示例
Nov 01 #Python
Python栈算法的实现与简单应用示例
Nov 01 #Python
Python scikit-learn 做线性回归的示例代码
Nov 01 #Python
You might like
从零开始学YII2框架(六)高级应用程序模板
2014/08/20 PHP
Linux下安装PHP MSSQL扩展教程
2014/10/24 PHP
让ThinkPHP支持大小写url地址访问的方法
2014/10/31 PHP
php中常量DIRECTORY_SEPARATOR用法深入分析
2014/11/14 PHP
PHP中ajax无刷新上传图片与图片下载功能
2017/02/21 PHP
Highslide.js是一款基于js实现的网页中图片展示插件
2020/03/30 Javascript
javascript 表格排序和表头浮动效果(扩展SortTable)
2009/04/07 Javascript
给Flash加一个超链接(推荐使用透明层)兼容主流浏览器
2013/06/09 Javascript
js二维数组定义和初始化的三种方法总结
2014/03/03 Javascript
JavaScript使用HTML5的window.postMessage实现跨域通信例子
2014/04/11 Javascript
实例说明为什么不要行内使用javascript
2014/04/18 Javascript
JavaScript中连接操作Oracle数据库实例
2015/04/02 Javascript
js面向对象的写法
2016/02/19 Javascript
几种二级联动案例(jQuery\Array\Ajax php)
2016/08/13 Javascript
canvas实现流星雨的背景效果
2017/01/13 Javascript
Angular2使用Guard和Resolve进行验证和权限控制
2017/04/24 Javascript
Node.JS文件系统解析实例详解
2017/05/15 Javascript
vue页面加载闪烁问题的解决方法
2018/03/28 Javascript
微信小程序导航栏滑动定位功能示例(实现CSS3的positionsticky效果)
2019/01/24 Javascript
微信小程序 云开发模糊查询实现解析
2019/09/02 Javascript
JS数组方法slice()用法实例分析
2020/01/18 Javascript
vue keep-alive实现多组件嵌套中个别组件存活不销毁的操作
2020/10/30 Javascript
Python中字符串的修改及传参详解
2016/11/30 Python
Python实现在线音乐播放器
2017/03/03 Python
解决pycharm安装第三方库失败的问题
2020/05/09 Python
详解Python多线程下的list
2020/07/03 Python
奥地利网上书店:Weltbild
2017/07/14 全球购物
成品仓管员工作职责
2013/12/29 职场文书
先进集体事迹材料
2014/02/17 职场文书
《去年的树》教学反思
2014/04/11 职场文书
小学学校评估方案
2014/06/08 职场文书
承诺书范本
2015/01/21 职场文书
JPA如何使用entityManager执行SQL并指定返回类型
2021/06/15 Java/Android
JavaScript中时间格式化新思路toLocaleString()
2021/11/07 Javascript
Win11 S Mode版本泄露 正式上线后叫做Windows 11 SE
2021/11/21 数码科技
阿里云ECS云服务器快照的概念以及如何使用
2022/04/21 Servers