登录练习

登录成功跳出循环,账号密码输入错误后继续登录,输入密码超过3次锁定账户,再次输入正确密码也不能登录成功

 

import sqlite3

unm = 1
while True:
    # 从数据库中查询数据
    def query():
        # 连接到数据库,如果数据库不存在,则会被创建
        conn = sqlite3.connect('example.db')
        # 创建一个cursor对象
        cursor = conn.cursor()
        cursor.execute('''SELECT username,password,locking FROM users''')
        rows = cursor.fetchall()
        for row in rows:
            print(row)
        # 提交事务
        conn.commit()

        # 关闭cursor和连接
        cursor.close()
        conn.close()
        return rows

    # 修改数据库中的数据
    def modify():
        conn = sqlite3.connect('example.db')
        cursor = conn.cursor()
        cursor.execute('''UPDATE users SET locking ='1' WHERE ID = 1''')
        conn.commit()
        cursor.close()
        conn.close()

    # 登录,判断密码是否错误3次,错误3次后锁定账号
    username = input("请输入用户名:")
    password = input("请输入密码:")
    rows = query()
    if int(rows[0][2]) == 1:
        print("账户已锁定!")
    elif rows[0][0] == username and rows[0][1] == password:
        print("登录成功!")
        break
    else:
        print("用户名密码错误!")
        if unm < 3:
            unm = unm + 1
        else:
            input_y_n = input("是否还要继续输入【Y】/【N】")
            if input_y_n == "Y":   # 判断是否还要继续输入
                unm = 1
            else:
                modify()

 

posted @ 2024-06-06 16:13  GDquicksand  阅读(2)  评论(0编辑  收藏  举报