把今天的成果展示下,关于怎么用python编写登录接口,
要求是 1、输入用户名和密码
2、输错三次密码就锁定用户
3、认证成功后输出欢迎信息
账号文件内容如下:
sanjiang sanjiang.com
Alex Alex.com
user user.com
admin admin.com
流程图如下:
验证这个登录程序:
不说了,直接上优化后的代码。
#!/use/bin/env python
#定义一个计数器
A = 0
while True:
login_user = input('请输入你的用户名: ')
#读取用户文件user.txt,用来判断输入的用户是否存在
f_user = open('user.txt','r+')
user_list=f_user.read().split()
#读取锁定文件local_file,用来判断输入的用户是否锁定
lock = open('local_file','r+')
lock_file = lock.read().split()
#判断用户是否锁定
if login_user in lock_file:
print('------------------------------------------------ '
'对不起,你输入的账号已被锁定,请用其他账号登录 ')
continue
#判断用户是否存在
elif login_user not in user_list:
print('------------------------------------------------ '
'对不起,你输入的用户不存在,请重新输入。 ')
continue
while True:
login_pwd = input('请输入你的密码: ')
#判断密码是否正确
if login_pwd == user_list[ user_list.index(login_user) + 1]:
print('------------------------------------------------ '
'亲爱的%s,欢迎您登录 '%login_user)
flag=True #定义一个变量用来跳出二层循环
break
else:
A +=1
a = 3 - A
if A ==3:
print('------------------------------------------------ '
'对不起,你输入的次数已经超过三次,账号已被锁定 ')
#往锁定文件中添加输入的用户
lock.write('%s '%login_user)
#关闭两个文件
lock.close()
f_user.close()
flag = True #定义一个变量用来跳出二层循环
break
print('------------------------------------------------ '
'对不起,你输入的密码错误,请重新输入。您还有%s次机会 '%a)
#如果跳出第一层循环定义了跳出二层循环变量,那么就跳出第二层循环
if flag:
break