python学生信息管理系统

news2024/9/24 6:02:39

wx供重浩:创享日记
对话框发送:python学生信息
免费获取完整源码源文件+配置教程说明等


在IDLE中运行《学生信息管理系统》即可进入如图1所示的系统主界面。在该界面中可以选择要使用功能对应的菜单进行不同的操作。在选择功能菜单时,有两种方法,一种是输入1,另一种是按下键盘上的↑或↓方向键进行选择。这两种方法的结果是一样的,所以使用哪种方法都可以。

在这里插入图片描述
具体的操作步骤如下:
(1)录入学生信息。在“请选择:”右侧光标所在位置,输入数字1,并按下Enter键,系统将分别提示输入学生编号、学生名字、英语成绩、Python成绩和C语言成绩,输入正确的信息后,系统会提示是否继续添加,如图2所示。输入y,系统将会再次提示用户输入用户信息,输入n,则将录入学生信息保存到文件中。

在这里插入图片描述
(2)查找学生信息。在功能菜单上输入功能编号2,并且按下Enter键,系统将要求用户选择是按学生编号查询还是按学生姓名查询,如果用户输入1,则要求用户输入学生ID,表示按学生编号查询,输入想要查询的学生编号,系统查找该学生信息,如果找到则显示,效果如图3所示,否则显示“(o@.@o) 无数据信息 (o@.@o)”,效果如图4所示。最后提示是否继续查找输入y,系统将再次提示用户选择查找方式,输入n,则退出查找学生信息功能。

在这里插入图片描述
在这里插入图片描述
(3)删除学生信息。在功能菜单上输入功能编号3,并且按下Enter键,系统将提示输入要删除学生的编号,输入相应的学生ID后,系统会直接从文件中删除该学生信息,并且提示是否继续删除,如图5所示。输入y,系统将会再次提示用户输入要删除的学生编号,输入n,则退出删除功能。

在这里插入图片描述
(4)修改学生信息。在功能菜单上输入功能编号4,并且按下Enter键,系统首先显示全部学生信息列表,再提示输入要修改学生的编号,输入相应的学生ID后,系统会在文件中查找该学生信息,如果找到,则提示修改相应的信息,否则不修改。最后提示是否继续修改,如图6所示。输入y,系统将会再次提示用户输入要修改的学生编号,输入n,则退出修改功能。

在这里插入图片描述
(5)排序。在功能菜单上输入功能编号5,并且按下Enter键,系统将先显示不排序的全部学生信息,然后提示选择排序方式,这里输入2,再选择降序排列“1”,将对学生信息按Python成绩降序排列并显示,如图7所示。

在这里插入图片描述
(6)统计学生总人数。在功能菜单上选择“6 统计学生总人数”菜单项,并且按下Enter键,系统将自动统计出学生总人数并显示,如图8所示。

在这里插入图片描述
(7)显示所有学生信息。在功能菜单上选择“7 显示所有学生信息”菜单项,并且按下Enter键,系统将获取并显示全部学生信息,如图9所示。

在这里插入图片描述

(8)退出系统。在功能菜单上输入功能编号5,并且按下Enter键即可退出系统,如图10所示。

在这里插入图片描述
部分代码如下,其余详见下载。

'''1 录入学生信息'''


def insert():
    stdentList = []        # 保存学生信息的列表
    mark = True  # 是否继续添加
    while mark:
        id = input("请输入ID(如 1001):")
        if not id:  # ID为空,跳出循环
            break
        name = input("请输入名字:")
        if not name:  # 名字为空,跳出循环
            break
        try:
            english = int(input("请输入英语成绩:"))
            python = int(input("请输入Python成绩:"))
            c = int(input("请输入C语言成绩:"))
        except:
            print("输入无效,不是整型数值....重新录入信息")
            continue
        stdent = {"id": id, "name": name, "english": english, "python": python, "c": c}  # 将输入的学生信息保存到字典
        stdentList.append(stdent)  # 将学生字典添加到列表中
        inputMark = input("是否继续添加?(y/n):")
        if inputMark == "y":  # 继续添加
            mark = True
        else:  # 不继续添加
            mark = False
    save(stdentList)  # 将学生信息保存到文件
    print("学生信息录入完毕!!!")

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

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

相关文章

SpringBoot2入门 第一个HelloWorld(参考尚硅谷SpringBoot2零基础入门教程)

文章目录0 官方文档1 系统要求2 maven设置3 HelloWorld3.0 需求3.1 创建Maven工程3.2 引入依赖3.3 创建主程序3.4 编写业务3.5 测试3.6 简化配置3.7 简化部署0 官方文档 https://docs.spring.io/spring-boot/docs/2.3.4.RELEASE/reference/html/index.html 1 系统要求 想要运…

RFS自动化测试工具安装与使用总结

一,调试 1,在调试时,总时提示“无法打开浏览器” 解决办法: 1,把浏览器的代理关闭 2,把浏览器的显示比例调到100% 3,在IE设置的安全选项中,把启用保护模式开启 4,去除进…

layui框架学习(12:进度条)

进度条是应用系统中的常见元素,无论是上传文件、下载文件、加载内容时都会显示进度条,Layui支持设置线条形进度条的样式,同时支持通过element模块动态操作进度条。   进度条样式分为两级结构,顶层一般为div元素,其cl…

【Opencv项目实战】背景替换:动态背景移除与替换(cvzone)

文章目录一、项目思路二、环境布置2.1、cvzone安装2.2、MediaPipe安装2.3、常见问题2.4、注意事项三、算法详解3.1、segmentor.removeBG():去除背景(抠出图像中的人)3.2、cvzone.stackImages():堆叠图像3.3、fpsReader.update()&a…

Hot Chocolate 构建 GraphQL .Net Core 服务

Hot Chocolate 是 .NET 平台下的一个开源组件库, 您可以使用它创建 GraphQL 服务, 它消除了构建成熟的 GraphQL 服务的复杂性, Hot Chocolate 可以连接任何服务或数据源,并创建一个有凝聚力的服务,为您的消费者提供统一的 API。 我会在 .NET 应用中使用…

mysql一两种索引方式hash和btree

1. Hash索引: Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索…

FFmpeg 编译和集成

背景FFmpeg 是一款知名的开源音视频处理软件,它提供了丰富而友好的接口支持开发者进行二次开发。FFmpeg 读作 “ef ef em peg” ,其中的 “FF” 指的是 “Fast Forward”,“mpeg” 则是 “Moving Picture Experts Group” (动态图…

隧道代理的工作原理是什么,为何爬虫使用起来更高效?

在网络爬虫领域,使用HTTP代理是非常普遍的一种技术手段。而隧道代理则是HTTP代理中的一种,它是指将请求通过隧道传输到代理服务器上,并由代理服务器向目标服务器发送请求,从而达到隐藏真实IP的目的。那么,隧道HTTP代理…

告别空指针让代码变优雅,Optional使用图文例子源码解读

一、前言 我们在开发中最常见的异常就是NullPointerException,防不胜防啊,相信大家肯定被坑过! 这种基本出现在获取数据库信息中、三方接口,获取的对象为空,再去get出现! 解决方案当然简单,只…

华为OD机试模拟题 用 C++ 实现 - 最优资源分配(2023.Q1)

最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 最多获得的短信条数(2023.Q1)) 文章目录 最近更新的博客使用说明最优资源分配题目输入输出描述备注示例一输入输出说明示例二输入输出说明Code使用说明 参加华为od机试,一定要注

2023 Java 分布式 面试 大纲

前段时间 ,公司部门的HR找到我,说来了几份简历 ,都是三年所有的开发 让我面一下, HR那边 一面核对了基本的信息 二面技术,是由我来接手,然后问了 一些分布式的问题 ,大部分都是在围绕着SpringCl…

这回稳了!电力巡检低功耗摄像头全新来袭

最近的狂飙成为大家的话题,互联网的发展让很多信息都很透明,这个也是我比较喜欢和各位技术大咖一起分享一些当下比较前沿的解决方案 春回大地,疫情远去,我们也没有理由逃避不去努力,在互相网的各种平台去获取各种自己需…

安全配置检查的必要性?以及检查流程

随着行业信息化建设的不断深入,生产、业务支撑系统的网络结构越来越复杂,由此带来的各种应用和服务器的数量及种类也日益增多,一旦发生维护人员错误操作,或者采用一成不变的初始系统设置,就可能会带来安全隐患&#xf…

〖大前端 - 基础入门三大核心篇②〗- 前端开发工具和环境准备

大家好,我是 哈士奇 ,一位工作了十年的"技术混子", 致力于为开发者赋能的UP主, 目前正在运营着 TFS_CLUB社区。 💬 人生格言:优于别人,并不高贵,真正的高贵应该是优于过去的自己。💬 &#x1f4e…

2020蓝桥杯真题跑步锻炼(填空题) C语言/C++

题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 小蓝每天都锻炼身体。 正常情况下,小蓝每天跑 1 千米。如果某天是周一或者月初(1 日),为了激励自己,小蓝…

TCP协议原理三

文章目录七、延时应答八、捎带应答九、面向字节流粘包问题十、TCP异常情况总结七、延时应答 如果说滑动窗口的关键是让窗口大一些,传输速度就快一些。那么延时应答就是在接收方能够处理的前提下,尽可能把ack返回的窗口大小尽可能大一些。 如果在接受数据…

关于事务的理解

事务的概念 事务处理几乎是每一个信息系统中都会涉及到的问题,它存在的意义就是保证系统中的数据是正确的,不同数据间不会产生矛盾,也就是保证数据状态的一致性(Consistency)。 关于一致性,我们重点关注的…

MySQL —— 基本查询

文章目录1. 向表中插入数据2. 查询操作2.1 全列查询2.2 指定列查询2.3 查询字段带表达式2.4 为查询结果指定别名2.5 去重操作3. where 条件3.1 比较运算符和逻辑预算符的运用3.2 like的细节3. 3 null查询4. 对查询的结果进行排序4.1 对单一字段进行排序4.2 对多个字段排序4.3 对…

密码学基础概念

把一段原始数据通过某种算法处理成另外一种数据(原始数据为明文,处理后的数据为密文)。明文->密文:称之为加密。密文->明文:称之为解密。 在加密过程中我们需要知道下面的这些概念: 1)明文…

操作系统——10.进程通信

这篇文章我们来讲一下进程通信的相关内容 目录 1.概述 2.什么是进程通信 2.1进程通信——共享存储 2.2进程通信——管道通信 2.3进程通信——消息传递 3.小结 1.概述 首先,我们来看一下这节内容的大体框架 2.什么是进程通信 顾名思义,进程通信就是…