码迷,mamicode.com
首页 > 编程语言 > 详细

python 3次登录锁定

时间:2017-11-06 18:01:19      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:lin   span   passwd   lis   strip   验证   账户   实现   and   

2017-06-17

需求说明:

  1.输入用户名和密码

  2.对密码和用户名进行验证,验证通过则显示欢迎信息

  3.密码输错三次后锁定用户

思路:

  1.account.txt是存放用户id和密码的文件

  2.lock.txt是存放被锁定用户id的文件,默认为空

  3. 判断用户是否在黑名单lock.txt中

  4. 判断用户密码是否正确,三次失败后,将用户id加入黑名单中

代码实现:

 1 # -*- coding: utf-8 -*-
 2 count = 0                                  #计数器,记录用户输入密码的次数
 3 lock = []                                  #定义一个空列表
 4 user_pass = []
 5 flag = 1
 6 username = raw_input("请输入你的名字:")
 7 f = open("lock.txt","r+")                    #读取黑名单的内容
 8 lock_list = f.readlines()
 9 f.close()
10 for lock_line in lock_list:                 #遍历黑名单文件内容到lock列表中
11     line = lock_line.strip(\n)
12     lock.append(line)
13     if username in lock:                    #判断输入的用户名是否在黑名单中
14         print("您的 %s 用户已经在黑名单中" % (username))
15         exit()                              #退出程序
16     else:
17         while count < 3:
18             count = count + 1
19             passwd = raw_input("请输入您的密码: ")
20             f = open(account.txt, r)
21             user_file = f.readlines()        #读取account.txt中的用户名和密码
22             f.close()
23             for i in user_file:
24                 user_pass = i.strip().split()
25                 if username == user_pass[0] and passwd == user_pass[1]:   #账号密码正确则提示登录成功,退出循环
26                     print("登录成功...")
27                     flag = True
28                     exit()
29                 else:
30                     continue
31             if flag is True:
32                 break
33             else:
34                 if count == 3:                      #输错3次密码,则将用户追加到黑名单
35                     print("您的账户已被锁定...")
36                     f = open("lock.txt","a")
37                     f.write(%s\n %username)
38                     f.close()
39                     break

待优化:

1. 没有判断用户不存在account.txt文件中的情况

2.三次失败追加进黑名单的用户,密码正确仍能登录

python 3次登录锁定

标签:lin   span   passwd   lis   strip   验证   账户   实现   and   

原文地址:http://www.cnblogs.com/hshhs/p/jiaxiangkong.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!