news 2026/4/23 8:21:18

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/4/23 8:18:48

AnimeGANv2版本回滚机制:模型更新失败应急部署教程

AnimeGANv2版本回滚机制:模型更新失败应急部署教程 1. 引言 1.1 业务场景描述 在AI图像风格迁移应用中,AnimeGANv2 因其轻量高效、画风唯美的特性,广泛应用于二次元头像生成、社交内容创作等场景。随着模型迭代加速,开发者常通…

作者头像 李华
网站建设 2026/4/16 15:54:47

【性能测试】3_JMeter _JMeter元件作用域和执行顺序

文章目录一、元件的基本介绍1.1 常见的元件类型1.2 组件二、元件作用域2.1 作用域的原则三、元件执行顺序(重要)一、元件的基本介绍 元件: 多个类似功能组件的容器(类似于类) 。 1.1 常见的元件类型 取样器&#xf…

作者头像 李华
网站建设 2026/4/11 15:56:10

深度学习毕设项目推荐-基于python-CNN训练识别夏冬季节风景

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/4/19 13:57:16

Keil芯片包安装指南:手把手实现Cortex-M系列支持

手把手教你搞定Keil芯片包:让Cortex-M开发不再“缺芯少魂” 你有没有遇到过这样的场景? 刚拿到一块新的STM32板子,兴冲冲打开Keil MDK准备写代码,结果新建工程时—— 设备列表一片空白 ;或者编译时报错 cannot op…

作者头像 李华
网站建设 2026/4/10 22:09:45

AnimeGANv2技术指南:实现高质量动漫风格迁移的秘诀

AnimeGANv2技术指南:实现高质量动漫风格迁移的秘诀 1. 引言 随着深度学习在图像生成领域的快速发展,风格迁移(Style Transfer)技术已从学术研究走向大众应用。其中,将真实照片转换为具有二次元动漫风格的图像&#x…

作者头像 李华
网站建设 2026/4/22 13:30:02

AnimeGANv2技术揭秘:8MB模型压缩技巧解析

AnimeGANv2技术揭秘:8MB模型压缩技巧解析 1. 技术背景与核心挑战 近年来,基于深度学习的图像风格迁移技术取得了显著进展,尤其是将真实照片转换为二次元动漫风格的应用场景备受关注。AnimeGAN系列作为其中的代表性轻量级模型,因…

作者头像 李华