#!/usr/local/bin/python3
# -*- coding:utf-8 -*-
f=open('/users/zhangyu/PycharmProjects/s14/day1/Homework_day1/name_password','r+')#'r+'代表可读可写,
# 初始账户密码已存入name_password文件
g=open('/users/zhangyu/PycharmProjects/s14/day1/Homework_day1/Account_lock','r+')#'r+'代表可读可写
#Account_lock为账户锁定文件,用于锁定账户的存取
a=0
while a<3:
name= input('Input your name please!')
lock_name= g.readline()
for x in f:
if name==x.strip() and name!=lock_name:
print('Hello!',name)
password=input('now,please input your password:')
d=f.readline()#读取当前行的下一行
if password==d.strip():#strip()方法,删除字符串中的空格/换行等符号
print('Welcome!',name)
break
if name==lock_name:
print('your account:',name,'has been locked!')
break
a+=1
if name==x.strip():
break
print('incorrect input!please input again')
f.seek(0)#将文件指针置0,以便x重新遍历文件f
g.seek(0)
else:
print('Sorry!your account will be locked')
g.write(name)#3次错误后将账户名b写入lock文件g
'''
---------------------------------------------
尚未实现的功能:
1.Account_lock存入锁定账户问题,代码第四行将'r+'改为'a+',虽然实现了换行存入,但又不能读写。
2.识别账户是否锁定,每次只能识别一个,用name!=(m.strip() for m in g)无法实现,不知道原因。
3.如果3次输入错误,存入锁定文件中的账户只能是最后一次输入的账户名称。
---------------------------------------------
'''