用Python搭建医科大学校友会管理系统
大家好,今天咱们来聊聊怎么用Python写一个校友会管理系统,特别是针对医科大学的。你可能觉得这个项目听起来有点高大上,但其实只要懂点基础的编程知识,就能搞定。
首先,我得说,这个系统的主要功能就是用来管理校友的信息,比如姓名、联系方式、毕业年份、专业等等。然后还能查询、添加、删除和修改这些信息。对于学校来说,这样的系统能帮助他们更好地联系校友,搞活动或者做调研什么的。
那我们怎么开始呢?首先,你需要安装Python环境。如果你是新手,可以去官网下载Python,安装的时候记得勾选“Add to PATH”选项,这样方便后续操作。然后,你可以用PyCharm或者VS Code作为你的开发工具,这两个都是挺流行的。

接下来,我们要用到一个叫SQLite的数据库。它是一个轻量级的数据库,不需要安装服务器,直接在Python里就能用。而且它特别适合小项目,比如我们这个校友会管理系统。
先来写个简单的代码吧。首先,我们要创建一个数据库,然后建一个表来存储校友信息。下面是我写的代码:
# 创建数据库和表
import sqlite3
conn = sqlite3.connect('alumni.db')
cursor = conn.cursor()
cursor.execute('''
CREATE TABLE IF NOT EXISTS alumni (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
email TEXT NOT NULL UNIQUE,
graduation_year INTEGER,
major TEXT,
phone TEXT
)
''')
conn.commit()
conn.close()
这段代码的意思是:如果数据库不存在,就创建一个叫alumni.db的文件;然后创建一个叫做alumni的表,里面包含id、name、email、graduation_year、major和phone这几个字段。其中id是主键,自动递增,email是唯一的,不能重复。
运行这段代码后,你会在当前目录下看到一个alumni.db的文件,这就是我们的数据库了。
接下来,我们得写一些函数,用来添加、查询、更新和删除数据。比如说,添加一个校友信息:
def add_alumni(name, email, graduation_year, major, phone):
conn = sqlite3.connect('alumni.db')
cursor = conn.cursor()
cursor.execute('INSERT INTO alumni (name, email, graduation_year, major, phone) VALUES (?, ?, ?, ?, ?)',
(name, email, graduation_year, major, phone))
conn.commit()
conn.close()
print("校友信息已添加")
这里用了参数化查询,避免SQL注入的问题。这样写更安全,也更规范。
然后是查询功能,比如根据邮箱查一个人的信息:
def get_alumni_by_email(email):
conn = sqlite3.connect('alumni.db')
cursor = conn.cursor()
cursor.execute('SELECT * FROM alumni WHERE email = ?', (email,))
result = cursor.fetchone()
conn.close()
return result
如果返回的是None,说明没有找到这个人;否则,就会返回一个元组,里面有所有字段的数据。
再来看更新功能,比如修改某个人的电话号码:
def update_alumni_phone(email, new_phone):
conn = sqlite3.connect('alumni.db')
cursor = conn.cursor()
cursor.execute('UPDATE alumni SET phone = ? WHERE email = ?', (new_phone, email))
conn.commit()
conn.close()
print("电话号码已更新")
最后是删除功能,比如根据邮箱删除一个人:
def delete_alumni(email):
conn = sqlite3.connect('alumni.db')
cursor = conn.cursor()
cursor.execute('DELETE FROM alumni WHERE email = ?', (email,))
conn.commit()
conn.close()
print("校友信息已删除")
这些函数基本上覆盖了CRUD(创建、读取、更新、删除)操作,是管理系统的核心部分。
不过,光有这些函数还不够,我们还需要一个用户界面,让别人能方便地使用这个系统。如果是命令行的话,可以用input()函数让用户输入信息,然后调用上面的函数。
比如,我们可以写一个简单的菜单,让用户选择要执行的操作:
while True:
print("\n1. 添加校友")
print("2. 查找校友")
print("3. 修改电话")
print("4. 删除校友")
print("5. 退出")
choice = input("请选择操作: ")
if choice == '1':
name = input("请输入姓名: ")
email = input("请输入邮箱: ")
year = int(input("请输入毕业年份: "))
major = input("请输入专业: ")
phone = input("请输入电话: ")
add_alumni(name, email, year, major, phone)
elif choice == '2':
email = input("请输入邮箱: ")
alumni = get_alumni_by_email(email)
if alumni:
print("ID:", alumni[0])
print("姓名:", alumni[1])
print("邮箱:", alumni[2])
print("毕业年份:", alumni[3])
print("专业:", alumni[4])
print("电话:", alumni[5])
else:
print("未找到该校友")
elif choice == '3':
email = input("请输入邮箱: ")
new_phone = input("请输入新电话: ")
update_alumni_phone(email, new_phone)
elif choice == '4':
email = input("请输入邮箱: ")
delete_alumni(email)
elif choice == '5':
break
else:
print("无效选项,请重新输入")
这样用户就可以通过命令行来操作这个系统了。虽然看起来有点简陋,但对于一个小型项目来说已经够用了。
当然,如果你想要更友好的界面,也可以考虑用Tkinter或者Flask做一个网页版的系统。不过对于初学者来说,先从命令行做起,慢慢进阶也是不错的。
总的来说,这个校友会管理系统虽然简单,但它涵盖了数据库操作、函数封装、用户交互等很多计算机方面的知识点。对于学计算机的同学来说,这是一个很好的练习项目,也能帮助你理解实际应用中如何设计和实现一个系统。
另外,如果你是医科大学的学生或者老师,可以考虑把这个系统扩展一下,加入更多功能,比如校友活动报名、捐赠记录、就业跟踪等等。这些都是可以一步步实现的。
最后,建议你在写完代码之后,多测试几遍,确保每个功能都正常运行。还可以加一些异常处理,比如邮箱格式是否正确、电话是否符合规范等等,这样系统会更健壮。
总之,用Python和SQLite做这样一个校友会管理系统,既实用又有趣。希望这篇文章能对你有所帮助,也欢迎你留言交流,分享你的想法和经验。
本站知识库部分内容及素材来源于互联网,如有侵权,联系必删!

