嘿,大家好!今天我要跟大家分享一个关于大学员工宿舍管理系统的小项目。这个系统可以帮助大学更好地管理员工的宿舍分配和日常事务。咱们从头开始讲起,一步步来,看看怎么用Python和SQLite数据库来搭建这样一个系统。

首先,我们要安装Python环境,如果你还不知道怎么安装的话,可以去官网下载最新版本的Python。然后,我们需要安装SQLite数据库,它是个轻量级的数据库,非常适合我们的小项目。
### 安装依赖
pip install sqlite3
这里用的是Python自带的`sqlite3`库,所以不需要额外安装。
### 创建数据库
import sqlite3
def create_db():
conn = sqlite3.connect('staff_dormitory.db')
c = conn.cursor()
# 创建宿舍表
c.execute('''CREATE TABLE IF NOT EXISTS dormitories (
id INTEGER PRIMARY KEY,
room_number TEXT NOT NULL,
capacity INTEGER NOT NULL,
current_occupancy INTEGER NOT NULL)''')
# 创建员工表
c.execute('''CREATE TABLE IF NOT EXISTS staffs (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
department TEXT NOT NULL,
assigned_room TEXT)''')
conn.commit()
conn.close()
create_db()
这段代码创建了两个表:一个是存储宿舍信息的`dormitories`,另一个是存储员工信息的`staffs`。每个表都有几个字段,比如宿舍号、容量、当前占用人数等。
### 添加宿舍和员工信息
def add_dormitory(room_number, capacity):
conn = sqlite3.connect('staff_dormitory.db')
c = conn.cursor()
c.execute("INSERT INTO dormitories (room_number, capacity, current_occupancy) VALUES (?, ?, ?)",
(room_number, capacity, 0))
conn.commit()
conn.close()
def assign_staff_to_dorm(room_number, staff_name, department):
conn = sqlite3.connect('staff_dormitory.db')
c = conn.cursor()
# 先检查是否有空位
c.execute("SELECT current_occupancy FROM dormitories WHERE room_number=?", (room_number,))
occupancy = c.fetchone()[0]
if occupancy < 4: # 假设每个宿舍最多容纳4人
c.execute("UPDATE dormitories SET current_occupancy=current_occupancy+1 WHERE room_number=?", (room_number,))
c.execute("INSERT INTO staffs (name, department, assigned_room) VALUES (?, ?, ?)",
(staff_name, department, room_number))
conn.commit()
print(f"{staff_name} has been assigned to room {room_number}.")
else:
print(f"Room {room_number} is full.")
conn.close()
这些函数允许我们添加新的宿舍信息,并将员工分配到有空位的宿舍中。
好了,这就是我们的员工宿舍管理系统的基本框架。你可以根据需要扩展更多功能,比如查询特定员工的信息或查看某个宿舍的状态。希望这篇分享对你有所帮助!
