第一天作业(登陆接口)


 要求:

  • 输入用户名密码
  • 登录成功显示欢迎信息
  • 输错三次后锁定

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()

原文地址:https://www.cnblogs.com/wazy/p/7718137.html