# 注册功能: def regist(username,password): with open('memory',mode='r+',encoding='utf8') as f1: for line in f1: if line == ' ': #防止空行 continue index = line.find('_') #python中find()方法和index()功能差不多,但index如果没有找到子串时,就会报错,而find返回一个-1. memory_name = line[0:index] #find()和index()的区别https://www.cnblogs.com/40kuai/p/6262297.html if username == memory_name: return False else: #这里要注意else的放置,如果放在for的代码块里,就跟这for循环多次输入了 f1.write(''+username +'_'+ password+' ') return True res = regist(input('请输入用户名:'),input('请输入密码:')) if res: print('注册成功') else: print('注册失败,请重新注册') # 登录功能 # def login(username,password): # with open('memory',mode='r+',encoding='utf8') as f2: # for line in f2: # if line.strip() == username +'_'+password: # return True # else: #这里的else也是,如果和if同级的话,由于return的存在,for循环一次就退出函数的调用了 # return False # for i in range(2,-1,-1): # res = login(input('请输入用户名:'),input('请输入密码:')) #这一步注意,省略了两行代码,还可以把res去掉,再省略一行 # if res: # print('恭喜你,登录成功。') # break # else: # print('登录失败,还有%d次机会'%i)