登录验证功能

"""
编写用户注册函数,实现功能
1、 在函数内接收用户输入的用户名、密码、余额
    要求用户输入的用户名必须为字符串、并且保证用户输入的用户名不与其他用户重复
    要求用户输入两次密码,确认输入一致
    要求用户输入的余额必须为数字
2、 要求用户注册的用户信息全部存放于文件中

编写用户转账函数、实现功能
1、 用户输入账号,密码,然后与文件中存放的账号密码验证
2、 同一账号输入密码错误三次则锁定
3、这一项为选项功能:锁定的账号,在五分钟内无法再次登录
    提示:一旦用户锁定,则讲用户名与当前时间写入文件
    实现方式如下:
    import time
    current_time = time.time()
    current_time = str(current_time)
    lock_user = "%s:%s\n" %("log",time)

    然后打开文件
    f.write(lock_user)
"""
# 1、难道用户输入的合法信息:用户名、密码、余额
db_path="db.txt"
def get_name():
    while True:
        name=input('用户名>>:').strip()
        if not name.isalpha():
            print('用户名必须为英文字母...')
            continue
        with open(r'%s' %db_path,'r',encoding='utf-8') as f:
            for line in f:
                info=line.strip('\n').split(',')
                if name == info[0]:
                    print('用户名已存在...')
                    break
            else:
                return name


def get_pwd():
    while True:
        pwd1 = input("请输入密码:").strip()
        pwd2 = input("请确认密码:").strip()
        if pwd1 == pwd2:
            return pwd1
        else:
            print("两次输入密码不一致,请重新输入!")


def get_yu_e():
    while True:
        yue = input("请输入您的金额:").strip()
        if yue.isdigit():
            return yue
        else:
            print("您输入的金额必须是数字")


# 2、写入文件
def xie_wj(name,pwd,yue):
    with open(r"%s" %db_path,"a",encoding="utf-8") as f:
        f.write("%s,%s,%s \n" %(name,pwd,yue))



# 注册功能
def zhu_ce():
    name = get_name() # 拿到合法的用户名
    pwd = get_pwd() # 拿到合法的密码
    yue = get_yu_e() # 拿到合法的余额
    xie_wj(name,pwd,yue) # 写入文件

zhu_ce()

 

posted @ 2023-04-18 14:26  principles  阅读(33)  评论(0编辑  收藏  举报