写一个函数完成三次登陆功能,再写一个函数完成注册功能(代码以及拓展)

# 注册功能:
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)
原文地址:https://www.cnblogs.com/doit9825/p/13062440.html