news 2026/5/9 6:31:52

Python 学生管理系统实战:从基础功能到数据持久化(附完整源码)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python 学生管理系统实战:从基础功能到数据持久化(附完整源码)

学生管理系统基础功能实现

学生管理系统的核心功能包括添加、删除、修改和查询学生信息。使用Python内置数据结构如字典和列表可以快速实现这些基础功能。

students = [] def add_student(): name = input("输入学生姓名: ") age = int(input("输入学生年龄: ")) student_id = input("输入学号: ") students.append({"name": name, "age": age, "id": student_id}) def show_students(): for student in students: print(f"姓名: {student['name']}, 年龄: {student['age']}, 学号: {student['id']}") def delete_student(): student_id = input("输入要删除学生的学号: ") global students students = [s for s in students if s['id'] != student_id]

数据持久化存储方案

使用JSON文件格式可以实现数据的持久化存储,确保程序关闭后数据不会丢失。Python的json模块提供了简单易用的接口。

import json def save_data(): with open('students.json', 'w') as f: json.dump(students, f) def load_data(): global students try: with open('students.json', 'r') as f: students = json.load(f) except FileNotFoundError: students = []

用户界面与交互设计

构建简单的命令行交互界面,通过while循环和条件判断实现功能选择。清晰的菜单提示能提升用户体验。

def main_menu(): print("\n学生管理系统") print("1. 添加学生") print("2. 显示所有学生") print("3. 删除学生") print("4. 退出系统") def run_system(): load_data() while True: main_menu() choice = input("请选择操作(1-4): ") if choice == '1': add_student() elif choice == '2': show_students() elif choice == '3': delete_student() elif choice == '4': save_data() break

系统功能扩展建议

考虑添加成绩管理模块,为每个学生增加科目和分数记录。可以实现成绩统计和分析功能,如计算平均分和排名。

def add_score(): student_id = input("输入学生学号: ") subject = input("输入科目名称: ") score = float(input("输入分数: ")) for student in students: if student['id'] == student_id: if 'scores' not in student: student['scores'] = {} student['scores'][subject] = score break

异常处理与输入验证

增强系统的健壮性需要添加输入验证和异常处理机制,防止无效输入导致程序崩溃。

def get_int_input(prompt): while True: try: return int(input(prompt)) except ValueError: print("请输入有效的数字!")

https://www.zhihu.com/zvideo/1994901640575214623/
https://www.zhihu.com/zvideo/1994901639455332312/
https://www.zhihu.com/zvideo/1994901639463732153/
https://www.zhihu.com/zvideo/1994901638213817222/
https://www.zhihu.com/zvideo/1994901636422866760/
https://www.zhihu.com/zvideo/1994901635860803870/
https://www.zhihu.com/zvideo/1994901635223279332/
https://www.zhihu.com/zvideo/1994901635093247206/
https://www.zhihu.com/zvideo/1994901634782892976/
https://www.zhihu.com/zvideo/1994901633855922370/
https://www.zhihu.com/zvideo/1994901633839146142/
https://www.zhihu.com/zvideo/1994901633147086093/
https://www.zhihu.com/zvideo/1994901632165622682/
https://www.zhihu.com/zvideo/1994901632312435743/
https://www.zhihu.com/zvideo/1994901631456790443/
https://www.zhihu.com/zvideo/1994901628684353568/
https://www.zhihu.com/zvideo/1994901628046815323/
https://www.zhihu.com/zvideo/1994901628222972059/
https://www.zhihu.com/zvideo/1994901625840616672/
https://www.zhihu.com/zvideo/1994901625089839369/
https://www.zhihu.com/zvideo/1994901624246789427/
https://www.zhihu.com/zvideo/1994901623433086823/
https://www.zhihu.com/zvideo/1994901622032205640/
https://www.zhihu.com/zvideo/1994901619217806544/
https://www.zhihu.com/zvideo/1994901617984700436/
https://www.zhihu.com/zvideo/1994901617535901863/
https://www.zhihu.com/zvideo/1994901614365017076/
https://www.zhihu.com/zvideo/1994901615635877935/
https://www.zhihu.com/zvideo/1994901613178003651/
https://www.zhihu.com/zvideo/1994901611789710962/
https://www.zhihu.com/zvideo/1994901611139572034/
https://www.zhihu.com/zvideo/1994901607482151535/
https://www.zhihu.com/zvideo/1994901608488788992/
https://www.zhihu.com/zvideo/1994901608060970783/
https://www.zhihu.com/zvideo/1994901606672660197/
https://www.zhihu.com/zvideo/1994901606966256910/
https://www.zhihu.com/zvideo/1994901605800236919/
https://www.zhihu.com/zvideo/1994901605355648384/
https://www.zhihu.com/zvideo/1994901604470649566/
https://www.zhihu.com/zvideo/1994901603011027800/
https://www.zhihu.com/zvideo/1994901602218308616/
https://www.zhihu.com/zvideo/1994901600947434847/
https://www.zhihu.com/zvideo/1994901599416497346/
https://www.zhihu.com/zvideo/1994901599039025393/
https://www.zhihu.com/zvideo/1994901597323539244/
https://www.zhihu.com/zvideo/1994901598573445203/
https://www.zhihu.com/zvideo/1994901598397288520/
https://www.zhihu.com/zvideo/1994901596547613356/
https://www.zhihu.com/zvideo/1994901596467905733/
https://www.zhihu.com/zvideo/1994901596677640694/

完整系统源码结构

一个完整的学生管理系统应该包含以下模块:

  • main.py: 程序入口和主循环
  • student.py: 学生数据模型和操作
  • storage.py: 数据持久化处理
  • ui.py: 用户界面和交互逻辑
# main.py示例 from storage import load_data, save_data from ui import run_system if __name__ == "__main__": load_data() run_system() save_data()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/4 12:30:27

我用 XinServer 做了个文件系统,比想象简单

我用 XinServer 做了个文件系统,比想象简单 最近有个朋友找我帮忙,说他们团队想做个内部文件管理系统,让不同部门的同事能上传、下载、共享文档,还要有权限控制。他问我:“这个后端大概要搞多久?我们前端倒…

作者头像 李华
网站建设 2026/5/6 14:46:03

救命神器2026TOP9AI论文写作软件:本科生毕业论文必备测评

救命神器2026TOP9AI论文写作软件:本科生毕业论文必备测评 2026年AI论文写作软件测评:为什么你需要这份榜单? 随着人工智能技术的不断进步,AI论文写作工具已经成为本科生撰写毕业论文时不可或缺的辅助工具。然而,市面上…

作者头像 李华
网站建设 2026/5/4 23:21:18

hal_uart_transmit支持多协议切换的控制系统设计方案

基于hal_uart_transmit的多协议动态切换系统设计:从理论到实战在嵌入式控制系统中,我们常常面临一个看似简单却极具挑战的现实问题:如何让一块MCU通过同一个UART接口,与使用不同通信协议的多个外设稳定“对话”?比如&a…

作者头像 李华
网站建设 2026/4/27 8:06:55

微博开源模型实战:VibeThinker-1.5B WEBUI界面使用详解

微博开源模型实战:VibeThinker-1.5B WEBUI界面使用详解 1. 引言 1.1 业务场景描述 随着大模型在数学推理与代码生成领域的广泛应用,如何在有限算力条件下实现高效、低成本的推理能力成为中小团队和开发者关注的核心问题。微博近期开源的 VibeThinker-…

作者头像 李华
网站建设 2026/5/5 16:36:40

避坑指南:通义千问2.5-7B-Instruct与vLLM集成常见问题解决

避坑指南:通义千问2.5-7B-Instruct与vLLM集成常见问题解决 1. 引言 随着大语言模型在实际业务场景中的广泛应用,如何高效部署并稳定运行中等体量的高性能模型成为开发者关注的核心问题。通义千问 Qwen2.5 系列于 2024 年 9 月发布后,其 70 …

作者头像 李华
网站建设 2026/5/6 14:22:56

AnimeGANv2部署全流程:从镜像拉取到HTTP服务调用

AnimeGANv2部署全流程:从镜像拉取到HTTP服务调用 1. 概述与技术背景 随着深度学习在图像生成领域的持续突破,风格迁移(Style Transfer) 技术已广泛应用于艺术化图像处理。AnimeGAN 系列模型作为轻量级、高效率的动漫风格转换方案…

作者头像 李华