标签:
程序需求:
1.判断用户是否在黑名单,匹配黑名单退出程序
2.判断用户输入的用户名和密码,三次错误退出程序,并加入黑名单
#!/usr/bin/env python #! -*- coding:utf8 -*- #写入用户名 user_name = open("/tmp/name.txt","w") user_name.write("Jin\nTom\nJak\nSum") user_name.close() #写入密码 user_passwd = open("/tmp/passwd.txt","w") user_passwd.write("123456\n67890\nqwert\nasdfg") user_passwd.close() count = 0 count_passwd = 0 for a in range(3): #读取用户列表和黑名单 user_list = open("/tmp/name.txt","r") user_error = open("/tmp/error.txt","r") name_input = input("请输入您的用户名:") #黑名单判断:循环判断用户输入的值是否存在于黑名单,存在退出程序 for error in user_error.readlines(): if name_input in error.strip(): print ("错误:用户以被锁定,程序退出,错误用户名:",name_input,"") break #用户名匹配程序 #循环读取用户名单并赋值给i,判断用户输入的用户名是否与用户名单匹配,匹配后执行判断密码匹配程序 else: for i in user_list.readlines(): if name_input in i.strip(): print ("用户名认证成功,请输入",name_input,"的密码:") break #用户输入的值不匹配用户名单,重复让用户输入三次,三次后仍然不匹配程序退出 else: count += 1 if count > 2: print ("用户名错误三次,程序退出") break else: print ("用户名错误,请重新输入") user_list = open("/tmp/name.txt","r") continue #密码匹配程序 passwd_list = open("/tmp/passwd.txt","r") passwd_input = input("请输入您的密码:") #循环读取用密码名单并赋值给p,判断用户输入的密码是否与密码名单匹配,匹配后输出欢迎界面,退出程序 for p in passwd_list.readlines(): if passwd_input in p.strip(): print ("认证成功,欢迎用户:",name_input) break #用户输入密码不匹配密码名单,重复让用户重新登录程序三次,三次不匹配,退出程序并锁定用户至黑名单 else: count_passwd += 1 if count_passwd == 3: print ("密码输入错误三次,用户被锁定") user_error = open("/tmp/error.txt","a") user_error.write(name_input) user_error.write("\n") user_error.close() break else: print ("密码错误,请重新登录") passwd_list = open("/tmp/passwd.txt","r") continue
标签:
原文地址:http://www.cnblogs.com/olingrobin/p/5719423.html