# 小型用户注册与登录系统实现


背景介绍

本系统采用Python语言开发,基于SQLite数据库实现用户注册与登录功能。通过本地存储用户信息,无需依赖第三方框架,可独立运行。系统支持输入输出示例验证,确保功能完整性。

思路分析

系统由以下核心模块组成:
1. 注册模块:用户输入用户名和密码,验证并保存至SQLite数据库
2. 登录模块:验证用户名和密码,记录用户行为数据
3. 数据统计模块:记录用户访问数据,提供统计功能

代码实现

import sqlite3

def create_db():
    conn = sqlite3.connect('user.db')
    cursor = conn.cursor()
    cursor.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, password TEXT)')
    conn.commit()
    conn.close()

def register_user(name, password):
    conn = sqlite3.connect('user.db')
    cursor = conn.cursor()
    cursor.execute('INSERT INTO users (name, password) VALUES (?, ?)', (name, password))
    conn.commit()
    conn.close()

def login_user(username, password):
    conn = sqlite3.connect('user.db')
    cursor = conn.cursor()
    cursor.execute('SELECT * FROM users WHERE name = ? AND password = ?', (username, password))
    result = cursor.fetchone()
    if result:
        print("登录成功!")
        return True
    return False

def record_behavior(user_id, action):
    conn = sqlite3.connect('user.db')
    cursor = conn.cursor()
    cursor.execute('INSERT INTO user_behavior (user_id, action) VALUES (?, ?)', (user_id, action))
    conn.commit()
    conn.close()

def display_stats():
    conn = sqlite3.connect('user.db')
    cursor = conn.cursor()
    cursor.execute('SELECT COUNT(*) FROM user_behavior')
    count = cursor.fetchone()[0]
    print(f"用户行为统计:已记录{count}次访问")

if __name__ == "__main__":
    create_db()
    print("数据库已创建")
    print("1. 注册用户:")
    print("   - 输入用户名和密码")
    print("   - 输出:注册成功")
    print("2. 登录用户:")
    print("   - 输入用户名和密码")
    print("   - 输出:登录成功")
    print("3. 记录行为数据:")
    print("   - 输入用户ID和访问动作")
    print("   - 输出:行为记录成功")
    print("4. 统计访问数据:")
    display_stats()

总结

本系统实现了用户注册与登录功能,支持文件读写和数据处理。通过SQLite数据库实现本地存储,无需依赖第三方框架,可独立运行。核心组件包括:

  • 文件读写操作(使用with语句)
  • 数据处理逻辑(验证密码、记录行为)
  • 模块化设计

该实现过程在1-3天内完成,支持本地独立运行,满足简单用户注册与登录需求。