要求:
- 输入用户名密码
- 登录成功显示欢迎信息
- 输错三次后锁定
Readme:
- lock_file为存放锁定用户文件,路径为F:/login/lock.txt
- user_file为存放用户名密码文件,路径为F:/login/user.csv
- 该程序会对输入的用户名进行判断,如果连续三次判断user_file里没有,则程序直接退出
- 该程序会对输入正确的用户名的密码进行判断,如果连续三次输错,则用户锁定
流程图:
code:
1 #!/usr/bin/env python 2 #Author:Daniel 3 # -*- coding: utf-8 -*- 4 #time:2017.10.24-11:00 5 import sys,os,getpass 6 n = 0 7 while n < 3: 8 username = input("please enter your username:") 9 lock_file = open("F:/login/lock.txt",'r+') 10 lock_list = lock_file.readlines() 11 #print(lock_list) 12 user_file = open("F:/login/user.csv", 'r') 13 user_list = user_file.readlines() 14 #print(user_list) 15 for lock_line in lock_list: 16 lock_line = lock_line.strip(' ') 17 #print(lock_line) 18 if username == lock_line: 19 print ('user %s is locked,please contact the administrtor' % username) 20 sys.exit('The program has exited') 21 else: 22 for user_line in user_list: 23 #print(user_line) 24 (user,passwd) = user_line.strip(' ').split() 25 if username == user: 26 p = 0 27 while p < 3: 28 password = getpass.getpass(('please enter a password for the %s user:') % username) 29 if password == passwd: 30 print ('wlecome to %s login system' % username) 31 sys.exit() 32 else: 33 print ("Sorry, faker user's password input error,you have %d input opportunities" % (2 - p)) 34 p += 1 35 else: 36 if p == 3: 37 lock_file.write(username + ' ') 38 sys.exit('Sorry,%s user is locked,please contact the adminisrator' % username) 39 n += 1 40 else: 41 sys.exit('Input error. The program has exited. Please rerun') 42 lock_file.close() 43 user_file.close()