亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Python學習:8.小項目之登錄注冊驗證

標簽:
Python

简介 

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

项目流程 

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

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

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

代码流程 

  运行代之后首先执行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 Falsedef 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 Truedef 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 Falsedef 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()

复制代码

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

原文出处

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消