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()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1160600.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python库和代码案例:第一课】Python 标准库与第三方库实战指南:从日期处理到 Excel 操作

Python 标准库实战datetime 模块处理日期from datetime import datetime, timedelta# 获取当前时间 now datetime.now() print(f"当前时间: {now}")# 时间加减操作 next_week now timedelta(days7) print(f"一周后时间: {next_week}")# 时间格式化 form…

数独优化求解C库tdoku-lib的使用

tdoku-lib是基于优化求解器tdoku改造的动态库和静态库,它的存储库地址 https://github.com/hackerzhuli/tdoku-lib 1.拉取源代码 rootDESKTOP-59T6U68:/mnt/c/d# git clone https://github.com/hackerzhuli/tdoku-lib.gitCloning into tdoku-lib... remote: Enumer…

AI原生应用云端推理的故障排查与恢复

AI原生应用云端推理的故障排查与恢复:让智能服务“不掉线”的秘密 关键词:AI原生应用、云端推理、故障排查、恢复机制、AIOps 摘要:当你用手机拍照识别植物品种时,当智能客服秒级回复你的问题时,当电商APP精准推荐商品时——这些“丝滑”体验的背后,是AI原生应用在云端高…

dlx求解数独duckdb插件的编写和使用

1.将网上下载的dlx求解c程序添加int sudoku(const char *s,char *r)函数处理81个字符长的数独题目字符串 #include <cstdio> #include <cstring> #include <ctime> int cnt0; const int XSIZE 3; const int SIZE XSIZE * XSIZE; const int MAX_C SIZE *…

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

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

大数据领域数据产品的安全保障策略

大数据领域数据产品的安全保障策略&#xff1a;从全生命周期到体系化防御 引言&#xff1a;当大数据产品遇到安全“灰犀牛” 清晨打开手机&#xff0c;你收到一条推送&#xff1a;“某电商平台2000万用户信息泄露&#xff0c;含手机号、地址、购物记录”&#xff1b;下午参加…

避坑指南:通义千问2.5-7B-Instruct本地部署常见问题解决

避坑指南&#xff1a;通义千问2.5-7B-Instruct本地部署常见问题解决 1. 引言 1.1 业务场景描述 随着大模型在企业级应用和开发者项目中的普及&#xff0c;越来越多团队选择将高性能、可商用的开源模型部署至本地环境&#xff0c;以实现数据隐私保护、低延迟响应和定制化功能…

【RuoYi-SpringBoot3-Pro】:使用 Dify + AI 快速生成多数据库建表语句

【RuoYi-SpringBoot3-Pro】&#xff1a;使用 Dify AI 快速生成多数据库建表语句告别手写 SQL&#xff0c;一句话生成标准化建表语句&#xff0c;支持 MySQL、PostgreSQL、openGauss、SQLite 多种数据库&#xff0c;再也不用为给字段起名字发愁了。GitHub:https://github.com/u…

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

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

这份无线联网智能门锁系统清单非常专业,清晰地勾勒出了一套适用于多业态、高流动性、强管理场景的现代化出入口解决方案。这不仅是设备清单,更是一套“去中心化部署、云端化管理”的智慧运营蓝图。

无线联网智能门锁系统——专为公寓、办公、宿舍、民宿与酒店打造的全场景智能门禁解决方案这套无线联网智能门锁系统&#xff0c;专为高流动性、多权限管理的场景设计&#xff0c;已广泛应用于公寓、企业宿舍、办公场所、民宿及酒店等环境&#xff0c;实现“一卡通行、远程管控…

【RuoYi-SpringBoot3-Pro】:多租户功能上手指南

【RuoYi-SpringBoot3-Pro】&#xff1a;多租户功能上手指南 做 SaaS 系统最头疼的是什么&#xff1f;肯定是数据隔离。 RuoYi-SpringBoot3-Pro[1] 直接集成了 MyBatis-Plus 的多租户插件&#xff08;TenantLineInnerInterceptor&#xff09;&#xff0c;不用再关注租户 ID&am…

提示工程架构师经验:如何用Prompt解决客服复杂问题?

提示工程架构师经验&#xff1a;如何用Prompt解决客服复杂问题&#xff1f; 一、引言&#xff1a;客服AI的「尴尬时刻」&#xff0c;你遇到过吗&#xff1f; 上周晚饭后&#xff0c;我帮妈妈处理网购纠纷——她买的养生壶收到时底座裂了&#xff0c;联系客服AI得到回复&#xf…

对象库未注册-VB6企业版控件加载不了MSCOMCTL.ocx

关于WIN7下VB6中MicrosoftWindowsCommonControls6.0(SP6)加载提示“对象库未注册”的一种解决办法​​我之前在另外一台电脑上加上了进度条控件&#xff0c;使用正常&#xff1b;换了一台电脑之后&#xff0c;去“部件”中加入Microsoft Windows Common Controls 6.0 (SP6)时&a…

动漫生成服务SLA保障:AnimeGANv2高可用部署架构

动漫生成服务SLA保障&#xff1a;AnimeGANv2高可用部署架构 1. 引言 1.1 业务场景描述 随着AI图像风格迁移技术的普及&#xff0c;用户对“照片转动漫”类应用的需求迅速增长。尤其在社交娱乐、头像生成、内容创作等领域&#xff0c;基于AnimeGANv2的二次元转换服务因其画风…

go语言对phone脱敏显示

在Go语言中实现手机号脱敏显示主要有以下几种方式&#xff0c;从简单到完整逐步推荐&#xff1a; 一、基础实现&#xff08;字符串切片&#xff09; 最常用且高效的方式是直接使用字符串切片操作&#xff0c;保留前3位和后4位&#xff0c;中间用*替换&#xff1a; go 复制 …

通义千问2.5-7B-Instruct优化技巧:RTX 3060流畅运行指南

通义千问2.5-7B-Instruct优化技巧&#xff1a;RTX 3060流畅运行指南 1. 引言&#xff1a;为何在RTX 3060上部署Qwen2.5-7B-Instruct成为可能 随着大模型技术的快速演进&#xff0c;70亿参数级别的语言模型已逐步从“云端专属”走向本地化部署。通义千问2.5-7B-Instruct作为阿…

农业机械收割机拖拉机数据集6340张VOC+YOLO格式

农业机械收割机拖拉机数据集6340张VOCYOLO格式数据集格式&#xff1a;VOC格式YOLO格式压缩包内含&#xff1a;3个文件夹&#xff0c;分别存储图片、xml、txt文件JPEGImages文件夹中jpg图片总计&#xff1a;6340Annotations文件夹中xml文件总计&#xff1a;6340labels文件夹中tx…

AnimeGANv2如何提高边缘清晰度?后处理滤波技术实战

AnimeGANv2如何提高边缘清晰度&#xff1f;后处理滤波技术实战 1. 背景与问题分析 在基于AnimeGANv2的图像风格迁移应用中&#xff0c;尽管模型本身具备较强的动漫化能力&#xff0c;尤其在人脸保留和色彩渲染方面表现优异&#xff0c;但其生成结果常存在边缘模糊、轮廓失真、…

开源模型新选择:AnimeGANv2宫崎骏风格迁移实战指南

开源模型新选择&#xff1a;AnimeGANv2宫崎骏风格迁移实战指南 1. 引言 随着深度学习在图像生成领域的持续突破&#xff0c;风格迁移技术已从实验室走向大众应用。其中&#xff0c;AnimeGANv2 作为轻量级、高效率的动漫风格迁移模型&#xff0c;凭借其出色的画质表现和极低的…

AnimeGANv2优化指南:处理高分辨率图片的配置建议

AnimeGANv2优化指南&#xff1a;处理高分辨率图片的配置建议 1. 背景与挑战&#xff1a;高分辨率输入下的性能瓶颈 随着用户对图像质量要求的不断提升&#xff0c;将高清照片&#xff08;如1080p、4K&#xff09;转换为二次元风格的需求日益增长。AnimeGANv2 以其轻量级结构和…