当前位置: 首页 > news >正文

使用Python实现学生管理系统

文章目录

    • 1. 系统概述
    • 2. 系统功能
    • 3. 实现细节
      • 3.1 初始化学生列表
      • 3.2 添加学生
      • 3.3 显示所有学生
      • 3.4 查找学生
      • 3.5 删除学生
      • 3.6 主菜单
    • 4. 运行系统

在本文中,我们将使用Python编程语言来开发一个简单的学生管理系统。该系统将允许用户执行基本的学生信息管理操作,如添加学生、显示所有学生、查找学生和删除学生。

1. 系统概述

我们的学生管理系统将基于控制台应用,不使用图形用户界面(GUI)。系统将使用列表(list)来存储学生信息,每个学生信息将由一个字典(dict)表示,包含学生的姓名(name)、学号(id)和成绩(score)。

2. 系统功能

  • 添加学生(Add Student):允许用户输入新学生的姓名、学号和成绩,并将其添加到学生列表中。
  • 显示所有学生(Show All Students):显示学生列表中的所有学生信息。
  • 查找学生(Find Student):允许用户通过学号查找学生信息。
  • 删除学生(Delete Student):允许用户通过学号删除学生信息。

3. 实现细节

3.1 初始化学生列表

首先,我们需要一个空的学生列表来存储学生信息。

students = []

3.2 添加学生

我们将定义一个函数add_student来添加学生信息。

def add_student():name = input("请输入学生姓名: ")id = input("请输入学生学号: ")score = float(input("请输入学生成绩: "))student = {'name': name, 'id': id, 'score': score}students.append(student)print("学生信息已添加。")

3.3 显示所有学生

接下来,我们定义一个函数show_all_students来显示所有学生的信息。

def show_all_students():for student in students:print(f"姓名: {student['name']}, 学号: {student['id']}, 成绩: {student['score']}")print("所有学生信息已显示。")

3.4 查找学生

我们定义一个函数find_student,它允许用户通过学号来查找学生信息。

def find_student():id_to_find = input("请输入要查找的学号: ")for student in students:if student['id'] == id_to_find:print(f"姓名: {student['name']}, 学号: {student['id']}, 成绩: {student['score']}")returnprint("未找到该学生。")

3.5 删除学生

最后,我们定义一个函数delete_student,它允许用户通过学号来删除学生信息。

def delete_student():id_to_delete = input("请输入要删除的学生学号: ")for i in range(len(students) - 1, -1, -1):if students[i]['id'] == id_to_delete:del students[i]print("学生信息已删除。")returnprint("未找到该学生。")

3.6 主菜单

为了使用户能够方便地选择功能,我们还需要一个主菜单函数main_menu

def main_menu():while True:print("""学生管理系统1. 添加学生2. 显示所有学生3. 查找学生4. 删除学生5. 退出""")choice = input("请选择操作: ")if choice == '1':add_student()elif choice == '2':show_all_students()elif choice == '3':find_student()elif choice == '4':delete_student()elif choice == '5':print("谢谢使用,再见!")breakelse:print("无效选择,请重新输入。")if __name__ == "__main__":main_menu()

4. 运行系统

现在,你可以运行这个Python脚本,并根据提示进行操作。你可以添加一些学生信息,然后显示、查找或删除它们。

相关文章:

使用Python实现学生管理系统

文章目录 1. 系统概述2. 系统功能3. 实现细节3.1 初始化学生列表3.2 添加学生3.3 显示所有学生3.4 查找学生3.5 删除学生3.6 主菜单 4. 运行系统 在本文中,我们将使用Python编程语言来开发一个简单的学生管理系统。该系统将允许用户执行基本的学生信息管理操作&…...

【嵌入式DIY实例】- LCD ST7735显示DHT11传感器数据

LCD ST7735显示DHT11传感器数据 文章目录 LCD ST7735显示DHT11传感器数据1、硬件准备与接线2、代码实现本文介绍如何将 ESP8266 NodeMCU 板 (ESP-12E) 与 DHT11 (RHT01) 数字湿度和温度传感器连接。 NodeMCU 从 DHT11 传感器读取温度(以 C 为单位)和湿度(以 rH% 为单位)值,…...

基于Tools体验NLP编程的魅力

大模型能理解自然语言,从而能解决问题,但是就像人类大脑一样,大脑只能发送指令,实际行动得靠四肢,所以LangChain4j提供的Tools机制就是大模型的四肢。 大模型的不足 大模型在解决问题时,是基于互联网上很…...

强化学习-3深度学习基础

文章目录 1 强化学习与深度学习的关系2 线性回归3 梯度下降4 逻辑回归5 全连接网络6 更高级的神经网络6.1 卷积神经网络6.2 循环神经网络6.3 transformer 将深度学习和强化学习结合起来,利用深度学习网络强大的拟合能力通过将状态、动作等作为输入,来估计…...

SOC模块LoRa-STM32WLE5有哪些值得关注

SoC 是片上系统的缩写,是一种集成芯片,集成了计算机或其他电子系统的所有或大部分组件。这些组件通常包括中央处理器 (CPU)、内存、输入/输出接口和辅助存储接口。包含数字、模拟、混合信号和通常的 RF 信号处理功能,具体取决于应用。片上系统…...

CSS中的display属性:布局控制的关键

CSS的display属性是控制元素在页面上如何显示的核心属性之一。它决定了元素的显示类型,以及它在页面布局中的行为。本文将详细介绍display属性的不同值及其使用场景,帮助你更好地掌握布局控制。 display属性的基本值 block 特点:块级元素&…...

【Spring Boot AOP通知顺序】

文章目录 一、Spring Boot AOP简介二、通知顺序1. 通知类型及其顺序示例代码 2. 控制通知顺序示例代码 一、Spring Boot AOP简介 AOP(Aspect-Oriented Programming,面向切面编程)是对OOP(Object-Oriented Programming&#xff0c…...

k8s是什么

1、k8s出现的背景: 随着服务器上的应用增多,需求的千奇百怪,有的应用不希望被外网访问,有的部署的时候,要求内存要达到多少G,每次都需要登录各个服务器上执行操作更新,不仅容易出错&#xff0c…...

使用雪花算法(Snowflake Algorithm)在Python中生成唯一ID

使用雪花算法Snowflake Algorithm在Python中生成唯一ID 使用雪花算法(Snowflake Algorithm)在Python中生成唯一ID雪花算法简介Python实现代码解析使用示例优势注意事项适用场景结论 使用雪花算法(Snowflake Algorithm)在Python中生…...

Docker期末复习

云计算服务类型有: IaaS 基础设施及服务 PaaS 平台及服务 SaaS 软件及服务 服务类型辨析示例: IaaS 服务提供的云服务器软件到操作系统,具体应用软件自己安装,如腾讯云上申请的云服务器等;SaaS提供的服务就是具体的软件,例如微软的Office套件等。 云计算部署模式有: 私有云…...

DP:子数组问题

文章目录 引言子数组问题介绍动态规划的基本概念具体问题的解决方法动态规划解法:关于子数组问题的几个题1.最大子数组和2.环形子数组的最大和3.乘积最大子数组4.乘积为正数的最长子数组长度5.等差数列划分 总结 引言 介绍动态规划(DP)在解决…...

[Day 20] 區塊鏈與人工智能的聯動應用:理論、技術與實踐

AI在醫療領域的創新應用 隨著科技的快速發展,人工智能(AI)在各行各業的應用越來越廣泛,醫療領域也不例外。AI技術在醫療中的應用不僅提高了診斷的準確性,還改善了病患的治療效果,優化了醫療資源的配置。本…...

Handling `nil` Values in `NSDictionary` in Objective-C

Handling nil Values in NSDictionary in Objective-C When working with Objective-C, particularly when dealing with data returned from a server, it’s crucial (至关重要的) to handle nil values appropriately (适当地) to prevent unexpected crashes. Here, we ex…...

【深入浅出 】——【Python 字典】——【详解】

目录 1. 什么是 Python 字典? 1.1 字典的基本概念 1.2 字典的用途 1.3 字典的优势 2. 字典的基本特点 2.1 键的唯一性 2.2 可变性 2.3 无序性 3. 如何创建字典? 3.1 使用 {} 符号 3.2 使用 dict() 工厂方法 3.3 使用 fromkeys() 方法 4. 字…...

开发RpcProvider的发布服务(NotifyService)

1.发布服务过程 目前完成了mprpc框架项目中的以上的功能。 作为rpcprovider的使用者,也就是rpc方法的发布方 main函数如下: 首先我们init调用框架的init,然后启动一个provider,然后向provider上注册服务对象方法,即us…...

Suno: AI音乐创作的新时代

名人说:一点浩然气,千里快哉风。 ——苏轼 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、什么是Suno?1、Suno2、应用场景二、如何使用Suno制作音乐?步骤1:注册并登录Suno平台步骤2:创建音乐项目步骤3:生成音乐片段三、Suno的影响很高兴你打开了…...

六西格玛项目实战:数据驱动,手机PCM率直线下降

在当前智能手机市场日益竞争激烈的背景下,消费者对手机质量的要求达到了前所未有的高度。PCM(可能指生产过程中的某种不良率或缺陷率)作为影响手机质量的关键因素,直接关联到消费者满意度和品牌形象。为了应对这一挑战&#xff0c…...

数据结构递归(01)汉诺塔经典问题

说明:使用递归时,必须要遵守两个限制条件: 递归存在限制条件,满⾜这个限制条件时,递归不再继续; 每次递归调⽤之后越来越接近这个限制条件; 1 汉诺塔(Hanoi Tower)经典…...

计算机专业课面试常见问题-计算机网络篇

目录 1. 计算机网络分为哪 5 层? 2. TCP 协议简述? 3. TCP 和 UDP 的区别?->不同的应用场景? 4. 从浏览器输入网址到显示页…...

HarmonyOS ArkUi ArkWeb加载不出网页问题踩坑

使用 使用还是比较简单的,直接贴代码了 别忘了配置网络权限 Entry Component struct WebPage {State isAttachController: boolean falseState url: string State title: string Prop controller: web_webview.WebviewController new web_webview.WebviewCont…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录

ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...

[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?

论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)

可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI

前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...