#!/usr/local/bin/python3 # -*- coding:utf-8 -*- f=open('/users/zhangyu/PycharmProjects/s14/day1/Homework_day1/name_password','r+')#'r+'代表可读可写 g=open('/users/zhangyu/PycharmProjects/s14/day1/Homework_day1/Account_lock','r+')#'r+'代表可读可写 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) 2.识别账户是否锁定,每次只能识别一个,用name!=(m.strip() for m in g)无法实现,不知道原因 --------------------------------------------- '''