标签: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.三次失败追加进黑名单的用户,密码正确仍能登录
标签:lin span passwd lis strip 验证 账户 实现 and
原文地址:http://www.cnblogs.com/hshhs/p/jiaxiangkong.html