小明: 嘿,小李!听说学校要推出一个宿舍迎新系统,你觉得这个系统应该有哪些功能?
小李: 我觉得首先要能登记新生的信息,比如姓名、学号、专业等。其次,还需要分配宿舍,记录宿舍的具体情况,比如宿舍编号、床位等。
小明: 好主意!那我们能不能用Python来实现这样一个系统呢?
小李: 当然可以!我们可以先设计一个简单的数据库来存储这些信息。
小明: 那么首先我们需要一个数据库,可以用SQLite来创建一个基本的表结构。
import sqlite3
conn = sqlite3.connect('dormitory.db')
cursor = conn.cursor()
cursor.execute('''
CREATE TABLE IF NOT EXISTS students (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
student_id TEXT UNIQUE NOT NULL,
major TEXT,
dormitory_id TEXT
)
''')
cursor.execute('''
CREATE TABLE IF NOT EXISTS dormitories (
id TEXT PRIMARY KEY,
capacity INTEGER
)
''')
conn.commit()
conn.close()
小李: 接下来,我们可以编写一些函数来添加学生信息和分配宿舍。
def add_student(name, student_id, major, dormitory_id=None):
conn = sqlite3.connect('dormitory.db')
cursor = conn.cursor()
cursor.execute('INSERT INTO students (name, student_id, major, dormitory_id) VALUES (?, ?, ?, ?)',
(name, student_id, major, dormitory_id))
conn.commit()
conn.close()
def assign_dormitory(dormitory_id, capacity):
conn = sqlite3.connect('dormitory.db')
cursor = conn.cursor()
cursor.execute('INSERT INTO dormitories (id, capacity) VALUES (?, ?)',
(dormitory_id, capacity))
conn.commit()
conn.close()
小明: 太棒了!现在我们有了基本的系统,接下来怎么演示它呢?
小李: 我们可以在控制台中调用这些函数进行演示。比如,添加一个学生并分配宿舍。
add_student('张三', '123456', '计算机科学', 'A101')
assign_dormitory('A101', 4)
小明: 这样我们就完成了一个简单的宿舍迎新系统的演示!
小李: 是的,虽然功能简单,但这是个很好的起点。未来可以继续扩展更多功能,比如查询和修改学生信息等。
]]>