Python学习:8.小项目之登录注册验证详解编程语言

简介 

  本次项目登录注册验证是对之前学习知识点的加深学习,这次项目的练习的知识点有函数、判断语句、循环语句、文件操作等。

项目流程 

  运行代码之后,输出登录或者注册选项。

  当选择登录之后,输入用户名密码,如果该用户信息没有注册过,就输出登录失败,如果该用户信息已经注册过,就显示登录成功。

  当选择注册之后,输入用户名密码,如果该用户信息没有注册过,就输出注册成功,如果该用户信息已经注册过,就显示用户名已经存在,注册失败。

代码流程 

  运行代之后首先执行main()函数,mian()函数中接收用户输入的用户名和密码,用户选择登录,就调用loing()函数,将用户输入的信息在和存放用户信息的文件中的信息进行比对,如果有该用户的信息就登录成功,否则失败,用户选择注册,在接收到用户输入的用户名密码之后,调用register()函数,在这里将调用 user_exist()函数进行对用户输入的信息进行判断,如用户输入的信息存在存放用户信息的文件里,输出注册失败,否则注册成功。

  在login()和user_exist()函数中调用了错误处理函数。

错误处理函数介绍 

try: 
    ..... 
except IOError: 
    ......

try中的代码执行没有出现错误,就不再执行except中的代码,如果try中的代码出现错误,就执行except中的代码。

代码实现 

def login(username, password): 
    """ 
    用于用户名和密码的验证 
    :param username:用户名 
    :param paaword:密码 
    :return:True,用户验证成功;False,用户验证失败 
    """ 
    try: 
        f = open("users", "r", encoding="utf-8") 
        for line in f: 
            line = line.strip()  # 清除换行符 
            # 无参数时移除两侧空格,换行符 
            # 有参数时移除两侧指定的字符 
            line_list = line.split("$") 
            if line_list[0] == username and line_list[1] == password: 
                # print("成功") 
                return True 
        return False 
    except IOError: 
        return False 
 
 
def register(username, password): 
    """ 
    注册用户 
    1、打开文件 
    2、用户名$密码 
    :param username:用户名 
    :param password:密码 
    :return:True:注册成功; 
    """ 
    with open("users", "a", encoding="utf-8") as f: 
        temp = "/n" + username + "$" + password 
        f.write(temp) 
        return True 
 
 
def user_exist(username): 
    """ 
    检测用户名是否存在 
    :param username:要检测的用户名 
    :return: True:用户名存在;False:用户名不存在 
    """ 
    # 一行一行的去查找,如果用户名存在,return True:False 
    try: 
        with open("users", "r", encoding="utf-8") as f: 
            for line in f: 
                line = line.strip() 
                line_new = line.split("$") 
                if line_new[0] == username: 
                    return True 
            return False 
    except IOError: 
        return False 
 
 
def main(): 
    while True: 
        print("欢迎登录xxx系统") 
        arg = input("1:登录,2:注册") 
 
        if arg == "1": 
            uer = input("请输入用户名:") 
            pwd = input("请输入密码:") 
            if login(uer, pwd): 
                print("成功") 
                break 
            else: 
                print("失败") 
        elif arg == "2": 
            user = input("请输入用户名:") 
            pwd = input("请输入密码:") 
            is_exist = user_exist(user) 
            if is_exist: 
                print("用户名已经存在,注册失败") 
            else: 
                if register(user, pwd): 
                    print("注册成功") 
                    continue 
                else: 
                    print("注册失败") 
        else: 
            print("输入错误,请重新输入") 
 
 
main()

 这次的项目仅仅使用了之前学习的部分知识,比较简单的一个项目,之后会继续加深学习。

  

  

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/12358.html

(0)
上一篇 2021年7月19日 14:34
下一篇 2021年7月19日 14:34

相关推荐

发表回复

登录后才能评论