练习-模拟账号登录

import os

# 判断文件是否存在
if not os.path.exists('error.txt'):
    f = open('error.txt', 'w')
    listname = []
else:
    # 读取文件内容
    f = open('error.txt', 'r')
    listname = f.readlines()
f.close()


# 初始化变量
error = 0
lastname = ''

# 多次判断,如果同一账号连续输入错误三次,就锁定该账号,如果不是连续就重新判断错误次数
while True:
    name = input('please input you name:')
    password = input('input you password:')
    # 输入信息不能不能为空
    if name == '' or password == '':
        print('can\'t input empty')
        continue
    else:
        # 判断是否在黑名单
        if name + '\n' in listname:
            print('this name is lock username')
            break
        # 判断账号密码是否正确(只判读了一个账号,要多账号就建立一个文件,通过split分割,然后循环判断)
        elif name == 'xh4528' and password == '123456':
            print('welcome xh4528')
            break
        else:
            if lastname == name:  # 判断当前用户名是不是上次用户名
                error += 1  # 错误次数+1
                if error == 3:  # 错误三次就加入黑名单(如果不连续同一个账号错误三次,可以在黑名单加上错误次数)
                    # 将错误账号写到黑名单
                    print('locking this username: %s' % name)
                    with open('error.txt', 'a') as f:
                        f.write(name + '\n')
                    break
            else:
                error = 1
                lastname = name


exit()

 

posted @ 2017-03-03 22:14  破斧呈粥  阅读(148)  评论(0编辑  收藏  举报