要求
输入用户名密码正确,提示登录成功,
输入三次密码错误,锁定账户。
实现原理:
创建两个文件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()
不要让以后的自己被嫌弃