利用python创建学生管理系统软件代码赏析

目录

 

一、学生管理系统v1.0(需求)

二、代码实现


一、学生管理系统v1.0(需求)


1、添加学生信息
2、删除学生信息
3、查看学生信息
4、修改学生信息


二、代码实现

# 使用字典存储学生信息
students = {}# 学号
ID = 1000# 退出学生管理系统
flag = Truedef add_student():"""添加学生信息"""global studentsglobal IDstudent = {}# 获得学生名字name = input("请输入学生姓名:")# 获得学生成绩score = input("请输入学生成绩:")# 学号ID += 1# 保存学生成绩student["name"] = namestudent["score"] = score# 将学生信息保存到学生列表中students[ID] = studentprint("新学生信息添加成功!")def del_student():"""删除学生信息"""global studentsdelete_id = int(input("请输入要删除的学生ID:"))if delete_id in students.keys():# 删除学生信息del students[delete_id]# 删除成功提示print("学号为%d的学生信息删除成功!" % delete_id)else:print("删除的学生ID不存在!")def show_students():"""打印学生信息"""for key, student in students.items():print("学号:%d \t 姓名:%s \t 分数:%s" % (key, student["name"],        student["score"]))print("------------")def save_students():"""保存学生信息到文件"""stu_info = []# 创建并打开文件stus_file = open("students.txt", "w")for key, student in students.items():stu_info.append(str(key))stu_info.append(student["name"])stu_info.append(student["score"])stu_data = ",".join(stu_info)# 给数据尾部增加换行stu_data += "\n"# 清空stu_info列表stu_info.clear()# 将学生信息写入文件中stus_file.write(stu_data)def load_students():"""程序启动从文件中加载学生数据"""stus_file = open("students.txt", "r")  # 打开文件# 从文件中读取学生数据students_data = stus_file.readlines()# 声明全局变量studentsglobal studentsglobal IDmax_id = 0for student in students_data:# 去除尾部回车student = student[:-1]stu_info = student.split(",")# 创建学生信息stu_data = {}stu_data["name"] = stu_info[1]stu_data["score"] = stu_info[2]# 将学生信息插入到stuents字典中students[int(stu_info[0])] = stu_data# 获得最大ID值if int(stu_info[0]) > max_id:max_id = int(stu_info[0])ID = max_iddef show_operations():print("请选择您的操作:")print("1. 添加学生信息")print("2. 删除学生信息")print("3. 显示学生信息")print("4. 退出学生系统")print("--------------")def test():print("欢迎使用学生管理系统v1.0")global flag# 加载学生信息load_students()while flag:# 显示菜单show_operations()operation = input("您输入的操作是:")if operation == "1":add_student()elif operation == "2":del_student()elif operation == "3":show_students()elif operation == "4":flag = Falsesave_students()else:print("操作错误,请重新选择操作!")test()

 

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

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

相关文章

html 仿ios选择控件,仿ios垂直滚动选择

注:必须在手机模式下才有效组件效果图组件效果图使用示例htmlcss.box{margin: 20px auto 20px auto;height: 188px;width: 90%;position: relative;}.box1{position: absolute;height: 100%;width: 60%;border-right: 1px solid #aaa;left: 0;}.box2{right: 0;posit…

asp.net中ADO.NET连接SQL数据库代码和连接Access数据库代码

连接SQL数据库方法&#xff1a; 一、建立连接 1、&#xff08;使用System.Data.SqlClient&#xff09; <1> string strcon; //声明连接字串 strcon "server(local);databasemytable;uidsa;pwdsa;"; //编写连接字串 …

LeetCode 469. 凸多边形(向量叉积)

文章目录1. 题目2. 解题1. 题目 给定一个按顺序连接的多边形的顶点&#xff0c;判断该多边形是否为凸多边形。 注&#xff1a; 顶点个数至少为 3 个且不超过 10,000。 坐标范围为 -10,000 到 10,000。 你可以假定给定的点形成的多边形均为简单多边形。 换句话说&#xff0c;保…

小案例:王者荣耀英雄对战python版代码(仅供娱乐)

直接上代码&#xff1a; #初始化用户信息 import randomprint("本比赛参赛英雄为&#xff1a;1老夫子 2典韦 3吕布") name int(input("请您选择出场英雄&#xff1a;"))if name 1:print("您本次选择的英雄为&#xff1a;老夫子——我会让你明白什么…

2016年10月计算机网络技术,2016年10月自考计算机网络技术练习题及答案(2)

2016年10月自考计算机网络技术练习题及答案(2)一、判断题(针对下面的描述&#xff0c;对的打‘√’&#xff0c;错的打‘X’)1.网络互联层的协议不包括ICMP协议.(错误)2.在同一个网络中&#xff0c;一个主机可有多个IP地址&#xff0c;多个主机也可同时使用一个IP地址.(错误)4.…

每日英语:Lighting: Twigs Shine in Home Decor

The humble twig is finding its way into high-end lighting. The sticks suggest rustic luxury -- think barn weddings and ski resorts -- but can also be found in modern interiors, giving spaces a clean, natural look. twigs:细枝&#xff0c;小树枝    high-e…

小案例:王者荣耀战绩查询系统代码赏析(自娱自乐)

直接上代码&#xff1a; #创建查询系统初始化信息 hero {} id 1000#创建初始化界面 def start():print("***"*9)print("欢迎您使用王者荣耀英雄查询系统&#xff1a;")print("***"*9)print("请按照以下提示信息进行操作&#xff1a;&quo…

LeetCode 1102. 得分最高的路径(优先队列BFS/极大极小化 二分查找)

文章目录1. 题目2. 解题2.1 优先队列BFS2.2 极大极小化 二分查找1. 题目 给你一个 R 行 C 列的整数矩阵 A。矩阵上的路径从 [0,0] 开始&#xff0c;在 [R-1,C-1] 结束。 路径沿四个基本方向&#xff08;上、下、左、右&#xff09;展开&#xff0c;从一个已访问单元格移动到任…

计算机语音未来发展趋势,语音助手横评:发展现状|未来展望

●语音助手现状Siri带动了业内人工智能语音的发展&#xff0c;各大手机厂商都纷纷推出自家的语音助手&#xff0c;不过总体来说&#xff0c;我们心中所期望的那个无所不能的人工智能机器人还是暂时没有办法出现。首先从国内的情况来看&#xff0c;我们使用语音助手的场景也大部…

说说 JavaScript 计时器的工作原理

原文&#xff1a;John Resig http://ejohn.org/blog/how-javascript-timers-work/ How JavaScript Timers Work 从基础的层面来讲&#xff0c;理解JavaScript的定时器是如何工作的是非常重要的。计时器的执行常常和我们的直观想象不同&#xff0c;那是因为JavaScript引擎是单…

LeetCode 1538. Guess the Majority in a Hidden Array

文章目录1. 题目2. 解题1. 题目 We have an integer array nums, where all the integers in nums are 0 or 1. You will not be given direct access to the array, instead, you will have an API ArrayReader which have the following functions: int query(int a, int b…

html5怎么跟安卓交互,html5怎么与android交互

满意答案Android中构建HTML5应用 使用WebView控件,与其他控件的使用方法相同在layout中使用一个标签,WebView不包括导航栏&#xff0c;地址栏等完整浏览器功能&#xff0c;只用于显示一个html. 在WebView中加载Web页面: (1)注意在manifest文件中加入访问互联网的权限&#xff1…

Attempt to write to a read-only database Sqlite

使用WCF做了一个中间层服务&#xff0c;准备把数据同步到Sqlite数据库中&#xff0c;在本地测试的时候没有问题&#xff0c;但放到服务器上却报出了 标题的错误。 StackOverFlow上说是数据库文件的权限问题&#xff0c;于是我把Users的写入权限分配给Users组&#xff0c;问题解…

LeetCode 1258. 近义词句子(哈希+并查集+排序+回溯)

文章目录1. 题目2. 解题1. 题目 给你一个近义词表 synonyms 和一个句子 text &#xff0c; synonyms 表中是一些近义词对 &#xff0c;你可以将句子 text 中每个单词用它的近义词来替换。 请你找出所有用近义词替换后的句子&#xff0c;按 字典序排序 后返回。 示例 1&#…

2022年计算机考研学校,2022计算机考研院校推荐

2022计算机考研院校推荐2022考研复习已经如火如荼的展开了&#xff0c;但是依然有很多同学没有确定好目标院校。计算机是许多考研学生青睐的考研专业&#xff0c;那么选择什么院校成为了关键。为了方便大家更好的择校&#xff0c;新东方在线考计算机研小编下面整理了计算机专业…

LeetCode 1066. 校园自行车分配 II(状态压缩DP)

文章目录1. 题目2. 解题2.1 回溯超时2.2 状态压缩DP1. 题目 在由 2D 网格表示的校园里有 n 位工人&#xff08;worker&#xff09;和 m 辆自行车&#xff08;bike&#xff09;&#xff0c;n < m。所有工人和自行车的位置都用网格上的 2D 坐标表示。 我们为每一位工人分配一…

Bootstrap(二)—格栅系统!

W(A*n)-i W是一个页面的总宽度&#xff0c;比如950px&#xff1b;而A代表一个版块的宽度&#xff0c;设置为apx&#xff1b;n就是分为几个版块&#xff1b;而i就是区块之间的间隔。 例如 950&#xff08;a*24&#xff09;-10 而a40px&#xff1b;改变A和i的值就会生成不同的布…