# 用户注册功能实现:Python + SQLite数据库


背景介绍

本项目采用Python语言实现用户注册功能,使用SQLite数据库存储用户数据。项目设计要求包括:
1. 输入用户名和密码并保存数据
2. 验证密码格式
3. 显示注册成功信息
4. 项目独立运行

思路分析

  1. 数据存储:使用SQLite3数据库存储用户信息,通过cursor操作直接写入表中
  2. 输入验证:验证密码格式(至少一个字母、一个数字、一个符号)
  3. 输出提示:在保存成功时输出注册提示信息
  4. 文件读写:使用SQLite的连接操作和cursor操作实现数据读取

代码实现

import sqlite3

def create_users_db():
    """创建SQLite数据库文件"""
    db_path = "users.db"
    conn = sqlite3.connect(db_path)
    cursor = conn.cursor()
    cursor.execute("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT, password TEXT)")
    conn.commit()
    conn.close()

def save_user(username, password):
    """保存用户数据到SQLite数据库"""
    conn = sqlite3.connect("users.db")
    cursor = conn.cursor()
    cursor.execute("INSERT INTO users (username, password) VALUES (:username, :password)", 
                  {"username": username, "password": password})
    conn.commit()
    conn.close()

def validate_password(password):
    """验证输入密码格式"""
    if len(password) >= 1 and len(password) <= 10:
        return True
    if all(c.isalnum() for c in password):
        return True
    return False

def register_user():
    """执行用户注册功能"""
    username = input("请输入用户名:")
    password = input("请输入密码:")

    if len(username) < 1 or len(password) < 1:
        print("用户名和密码必须至少1个字符!")
        return

    if not validate_password(password):
        print("密码格式不符合要求!请重新输入。")
        return

    save_user(username, password)
    print("注册成功!您的账户已创建!")

def main():
    """主函数"""
    create_users_db()
    print("欢迎使用用户注册功能!")
    register_user()

if __name__ == "__main__":
    main()

总结

本项目实现了用户注册功能,使用Python语言与SQLite数据库进行数据存储和验证。
1. 数据存储:通过SQLite3库实现表的创建与数据写入
2. 输入验证:验证密码格式,确保符合字符要求
3. 输出提示:在保存成功时显示注册提示信息
4. 独立运行:无需依赖框架,直接运行代码

项目特点:
– 文件读写部分使用SQLite的cursor操作
– 数据结构使用字符串类型
– 验证过程清晰可见
– 1~3天可实现,难度适中

本项目不仅体现了Python语言的简洁性,也展示了SQLite数据库在存储和验证数据方面的强大功能,是Web开发基础功能设计的典型实践。