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

 更新时间:2017年11月02日 09:33:29   作者:IT包工头头  
下面小编就为大家带来一篇python3.0 模拟用户登录,三次错误锁定的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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中的lambda表达式用法详解

    python中的lambda表达式用法详解

    这篇文章主要介绍了python中的lambda表达式用法,详细分析了lambda函数的功能、定义、使用方法与相关技巧,需要的朋友可以参考下
    2016-06-06
  • Python PyQt拖动控件对齐到网格的方法步骤

    Python PyQt拖动控件对齐到网格的方法步骤

    pyqt是一个用于创建GUI应用程序的跨平台工具包,它将python与qt库融为一体,下面这篇文章主要给大家介绍了关于Python PyQt拖动控件对齐到网格的方法步骤,需要的朋友可以参考下
    2022-12-12
  • python OpenCV GrabCut使用实例解析

    python OpenCV GrabCut使用实例解析

    这篇文章主要介绍了python OpenCV GrabCut使用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • python中栈的原理及实现方法示例

    python中栈的原理及实现方法示例

    这篇文章主要介绍了python中栈的原理及实现方法,结合实例形式分析了Python栈的概念、原理、常见操作方法及相关使用技巧,需要的朋友可以参考下
    2019-11-11
  • 浅谈Python对内存的使用(深浅拷贝)

    浅谈Python对内存的使用(深浅拷贝)

    这篇文章主要介绍了浅谈Python对内存的使用(深浅拷贝),具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • 200 行python 代码实现 2048 游戏

    200 行python 代码实现 2048 游戏

    2048这个小游戏大家都不陌生,应该都玩过,之前已经在网上见过各个版本的2048实现了,有JAVA、HTML5等,今天我就给大家来一个我200 行python 代码实现的2048 游戏,感兴趣的朋友一起看看吧
    2018-01-01
  • python 伯努利分布详解

    python 伯努利分布详解

    今天小编就为大家分享一篇python 伯努利分布详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • 解读python基于netconf协议获取网元的数据

    解读python基于netconf协议获取网元的数据

    大多数企业都需要网络支撑企业的ICT运行,针对企业网络中的网元设备(包括交换机,路由器,防火墙等),很多企业希望根据自身的业务特点定制网络管理,如下就以华为的NE40E网元为例,说明如何通过python基于netconf协议实现对于网元配置数据的获取。
    2021-05-05
  • Python魔法方法 容器部方法详解

    Python魔法方法 容器部方法详解

    这篇文章主要介绍了Python魔法方法 容器部方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • 在DigitalOcean的服务器上部署flaskblog应用

    在DigitalOcean的服务器上部署flaskblog应用

    这篇文章主要介绍了在DigitalOcean的服务器上部署flaskblog的方法,flaskblog是用Python的Flask开发的一个博客程序,而DigitalOcean则是大受欢迎的SSD主机提供商,需要的朋友可以参考下
    2015-12-12

最新评论