Python 实现基础学生信息管理系统
本教程演示如何使用 Python 语言从零构建一个基础的学生信息管理系统。内容涵盖系统开发环境配置、核心功能模块设计以及完整代码实现。系统支持新建、显示、查询、修改和删除学生信息(姓名及语数英成绩),并具备数据本地保存与加载功能。通过该项目可巩固 Python 基础语法、数据结构、逻辑控制及文件操作等知识点,适合初学者进行实战练习。
本教程演示如何使用 Python 语言从零构建一个基础的学生信息管理系统。内容涵盖系统开发环境配置、核心功能模块设计以及完整代码实现。系统支持新建、显示、查询、修改和删除学生信息(姓名及语数英成绩),并具备数据本地保存与加载功能。通过该项目可巩固 Python 基础语法、数据结构、逻辑控制及文件操作等知识点,适合初学者进行实战练习。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
学生信息管理系统是编程初学者常见的实战项目。通过该系统,可以实现对学生基本信息(如姓名、成绩)的增删改查及数据持久化存储。本文将详细讲解如何使用 Python 语言从零构建一个功能完备的基础版系统。
程序启动后显示欢迎界面及功能菜单,用户通过输入数字选择操作。系统需支持新建、显示、查询、删除、修改及退出功能。
str_info = """
**************************************************
欢迎使用【学生信息管理系统】V1.0
请选择你想要进行的操作
1. 新建学生信息
2. 显示全部信息
3. 查询学生信息
4. 删除学生信息
5. 修改学生信息
0. 退出系统
**************************************************
"""
while True:
print(str_info)
action = input('请选择你要进行的操作 (输入数字):')
if action == '1':
add_student()
elif action == '2':
show_all_students()
elif action == '3':
search_student()
elif action == '4':
delete_student()
elif action == '5':
modify_student()
elif action == '0':
save_data()
print('感谢使用,再见!')
break
else:
print('请输入正确的选项!')
记录学生的姓名、语文成绩、数学成绩、英语成绩及总分。数据存储在列表中。
students = [] # 全局数据存储
def add_student():
name = input('请输入学生的姓名:')
chinese = int(input('请输入学生的语文成绩:'))
math = int(input('请输入学生的数学成绩:'))
english = int(input('请输入学生的英语成绩:'))
total = chinese + math + english
student = {
'name': name,
'chinese': chinese,
'math': math,
'english': english,
'total': total
}
students.append(student)
print(f'学生 {name} 添加成功!')
遍历列表打印所有学生信息,若为空则提示。
def show_all_students():
if not students:
print('暂无学生信息')
return
print('-' * 30)
for s in students:
print(f"姓名:{s['name']}, 语文:{s['chinese']}, 数学:{s['math']}, 英语:{s['english']}, 总分:{s['total']}")
print('-' * 30)
根据姓名模糊匹配或精确查找学生信息。
def search_student():
name = input('请输入要查询的学生姓名:')
found = False
for s in students:
if s['name'] == name:
print(f"找到学生:{s['name']}, 总分:{s['total']}")
found = True
break
if not found:
print('未找到该学生信息')
提供基于姓名的删除和修改功能,确保数据安全。
def delete_student():
name = input('请输入要删除的学生姓名:')
for i, s in enumerate(students):
if s['name'] == name:
del students[i]
print(f'学生 {name} 已删除')
return
print('未找到该学生')
def modify_student():
name = input('请输入要修改的学生姓名:')
for s in students:
if s['name'] == name:
print(f'当前信息:语文{s["chinese"]}, 数学{s["math"]}, 英语{s["english"]}')
s['chinese'] = int(input('请输入新语文成绩:'))
s['math'] = int(input('请输入新数学成绩:'))
s['english'] = int(input('请输入新英语成绩:'))
s['total'] = s['chinese'] + s['math'] + s['english']
print('修改成功')
return
print('未找到该学生')
使用 JSON 文件保存和加载数据,防止程序关闭后数据丢失。
import json
def save_data():
with open('students.json', 'w', encoding='utf-8') as f:
json.dump(students, f, ensure_ascii=False, indent=4)
def load_data():
global students
try:
with open('students.json', 'r', encoding='utf-8') as f:
students = json.load(f)
except FileNotFoundError:
students = []
将上述模块整合为一个完整的脚本即可运行。
本系统实现了学生信息管理的核心 CRUD 功能,并完成了数据的本地持久化。通过此项目,可以深入理解 Python 中列表、字典的使用以及文件 IO 操作,为后续开发更复杂的应用打下基础。