要求

输入用户名密码正确,提示登录成功,

输入三次密码错误,锁定账户。

实现原理:

创建两个文件accout,accout_lock
accout记录用户名,密码
accout
root  1qazxsw2
wxp qwerty
osadmin 123456

accout_lock记录锁定用户,默认为空

代码:
#!/use/bin/env python
#-*- coding:utf-8 -*-

import sys,os
import getpass
#os.system('clear')

i = 0

while i < 3:
    name = input("请输入用户名:")

    lock_file = open('account_lock','r+')
    lock_list = lock_file.readlines()

    for lock_line in lock_list:
         lock_line = lock_line.strip('\n')
         if name == lock_line:
             sys.exit('用户 %s 已经被锁定,退出' % (name))

    user_file = open('account','r')
    user_list = user_file.readlines()

    for user_line in user_list:
         (user,password) = user_line.strip('\n').split( )

         if name == user:
             j = 0
             while j < 3:
                  #passwd = getpass.getpass('请输入密码:')
                  passwd = input('请输入密码:')
                  if passwd == password:
                       print("用户%s登录成功" % name)
                       sys.exit(0)
                  else:
                       if j != 2:
                            print("用户 %s 密码错误,请重新输入,还有 %d 次机会" % (name,3 - j ))
                  j += 1
             else:
                  lock_file.write(name + '\n')
                  sys.exit('用户 %s 达到最大登录次数,将被锁定并退出' % name)
         else:
              pass
    else:
        if i != 2:
             print('用户名%s 不存在,请重新输入,还有 %d 次机会' % (name,3 - i))
    i += 1
else:
     sys.exit("用户 %s 不存在,退出" % name)

lock_file.close()
user_file.close()

 

 
posted on 2017-05-01 21:02  菜菜的痛  阅读(25495)  评论(0编辑  收藏  举报