学生成绩管理系统(python实现)
学生成绩表信息包括学号、姓名、各科课程成绩(语文、数学、英语、政治)和总分。用带头结点的单链表管理学生成绩表,每个学生的信息依次从键盘输入,并根据需要进行插入、删除、排序、输出等操作。
import json# 初始化系统
students = []# 结构体
class Student:def __init__(self, ID, Name, Mark):self.ID = IDself.Name = Nameself.Mark = Markself.Total = sum(Mark)self.Average = self.Total / len(Mark)# 录入
def inputt():global studentsID = input("请输入学号:")Name = input("请输入姓名:")Marks = []for subject in ["数学", "英语", "语文"]:mark = float(input(f"请输入{subject}成绩:"))Marks.append(mark)student = Student(ID, Name, Marks)students.append(student)print("录入成功。")# 删除
def deletee():global studentsID = input("请输入要删除的学生学号:")found = Falsefor student in students:if student.ID == ID:students.remove(student)found = Trueprint("删除成功。")breakif not found:print(f"未找到学号为{ID}的学生。")# 修改
def modfiy():global studentsID = input("请输入要修改的学生学号:")found = Falsefor student in students:if student.ID == ID:Marks = []for subject in ["数学", "英语", "语文"]:mark = float(input(f"请输入新的{subject}成绩:"))Marks.append(mark)student.Mark = Marksstudent.Total = sum(Marks)student.Average = student.Total / len(Marks)found = Trueprint("修改成功。")breakif not found:print(f"未找到学号为{ID}的学生。")# 插入
def insert():global studentsposition = int(input("请输入要插入的位置(1-{}):".format(len(students) + 1)))if 1 <= position <= len(students) + 1:ID = input("请输入学号:")Name = input("请输入姓名:")Marks = []for subject in ["数学", "英语", "语文"]:mark = float(input(f"请输入{subject}成绩:"))Marks.append(mark)student = Student(ID, Name, Marks)students.insert(position - 1, student)print("插入成功。")else:print("插入位置无效。")# 排序
def sort():global studentsstudents.sort(key=lambda x: x.Average, reverse=True)print("排序完成。")# 显示
def display():global studentsif not students:print("暂无学生信息。")else:print("学号\t姓名\t数学\t英语\t语文\t总分\t平均分")for student in students:print(f"{student.ID}\t{student.Name}\t{student.Mark[0]}\t{student.Mark[1]}\t{student.Mark[2]}\t{student.Total:.2f}\t{student.Average:.2f}")# 查询
def Student_SearchByIndex():global studentsID = input("请输入要查询的学生学号:")found = Falsefor student in students:if student.ID == ID:print("学号\t姓名\t数学\t英语\t语文\t总分\t平均分")print(f"{student.ID}\t{student.Name}\t{student.Mark[0]}\t{student.Mark[1]}\t{student.Mark[2]}\t{student.Total:.2f}\t{student.Average:.2f}")found = Truebreakif not found:print(f"未找到学号为{ID}的学生。")# 主函数
def main():while True:print("\n学生成绩管理系统")print("1. 录入学生信息")print("2. 删除学生信息")print("3. 修改学生成绩")print("4. 插入学生成绩")print("5. 排序学生成绩")print("6. 显示学生成绩")print("7. 查询学生成绩")print("8. 退出系统")choice = input("请选择操作(1-8):")if choice == "1":inputt()elif choice == "2":deletee()elif choice == "3":modfiy()elif choice == "4":insert()elif choice == "5":sort()elif choice == "6":display()elif choice == "7":Student_SearchByIndex()elif choice == "8":breakelse:print("无效的选择,请重新输入。")if __name__ == "__main__":main()
相关文章:
学生成绩管理系统(python实现)
学生成绩表信息包括学号、姓名、各科课程成绩(语文、数学、英语、政治)和总分。用带头结点的单链表管理学生成绩表,每个学生的信息依次从键盘输入,并根据需要进行插入、删除、排序、输出等操作。 import json# 初始化系统 studen…...
【Leetcode合集】1410. HTML 实体解析器
1410. HTML 实体解析器 1410. HTML 实体解析器 代码仓库地址: https://github.com/slience-me/Leetcode 个人博客 :https://slienceme.xyz 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""…...
04-React脚手架 集成Axios
初始化React脚手架 前期准备 1.脚手架: 用来帮助程序员快速创建一个基于xxx库的模板项目 1.包含了所有需要的配置(语法检查、jsx编译、devServer…)2.下载好了所有相关的依赖3.可以直接运行一个简单效果 2.react提供了一个用于创建react项目的脚手架库…...
时序预测 | MATLAB实现基于BiLSTM-AdaBoost双向长短期记忆网络结合AdaBoost时间序列预测
时序预测 | MATLAB实现基于BiLSTM-AdaBoost双向长短期记忆网络结合AdaBoost时间序列预测 目录 时序预测 | MATLAB实现基于BiLSTM-AdaBoost双向长短期记忆网络结合AdaBoost时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.Matlab实现BiLSTM-Adaboost…...
【nlp】3.6 Tansformer模型构建(编码器与解码器模块耦合)
Tansformer模型构建(编码器与解码器模块耦合) 1. 模型构建介绍2 编码器-解码器结构的代码实现3 Tansformer模型构建过程的代码实现4 小结1. 模型构建介绍 通过上面的小节, 我们已经完成了所有组成部分的实现, 接下来就来实现完整的编码器-解码器结构耦合. Transformer总体架…...
【【Linux系统下常用指令学习 之 二 】】
Linux系统下常用指令学习 之 二 文件查询和搜索 文件的查询和搜索也是最常用的操作,在嵌入式 Linux 开发中常常需要在 Linux 源码文件中查询某个文件是否存在,或者搜索哪些文件都调用了某个函数等等。 1、命令 find find 命令用于在目录结构中查找文件…...
Git-将指定文件回退到指定版本
场景1:修改了文件/path/to/file,没有提交,但是觉得改的不好,想还原。 解决: git checkout -- /path/to/file 场景2:修改了文件/path/to/file,已经提交,但是觉得改的不好,…...
docker环境安装
环境 主机环境 1. 宿主机环境 ubuntu-22.04.3-live-server-amd64 ,下载地址: https://mirrors.aliyun.com/ubuntu-releases/22.04.3/ubuntu-22.04.3-live-server-amd64.iso 2. apt 包管理器,镜像源修改 : 将 http://cn.archive.ubunt…...
【Java】智慧工地云平台源码(APP+SaaS模式)
在谈论“智慧工地”之前,我们首先得知道传统工地为什么跟不上时代了。 说起传统工地,总有一些很突出的问题:比如工友多且杂,他们是否入场、身体状况如何,管理人员只能依靠巡查、手工纪录来判断,耗时耗力&am…...
2016年11月10日 Go生态洞察:七年的Go语言旅程
🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…...
深入了解Java中SQL优化的关键技巧与实践
引言 介绍SQL优化对于Java应用性能的重要性,并概述本文将要讨论的内容。 1. 编写高效的SQL语句 - **索引的类型与使用:** 解释B-Tree索引、哈希索引等类型的区别,以及如何根据查询需求合理创建和使用索引。 - **查询优化器:** 说明…...
6.3.WebRTC中的SDP类的结构
在上节课中呢,我向你介绍了sdp协议, 那这节课呢,我们再来看看web rtc中。是如何存储sdp的?也就是sdp的类结构,那在此之前呢?我们先对sdp的内容啊,做一下分类。因为在上节课中呢,虽然…...
ArcGis如何用点连线?
这里指的是根据已有坐标点手动连线,类似于mapgis中的“用点连线”,线的每个拐点是可以自动捕捉到坐标点的,比直接画精确。 我也相信这么强大的软件一定可以实现类似于比我的软件上坐标时自动生成的线,但是目前我还没接触到那里&a…...
自定义精美商品分类列表组件 侧边栏商品分类组件 category组件(适配vue3)
随着技术的发展,开发的复杂度也越来越高,传统开发方式将一个系统做成了整块应用,经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改,造成牵一发而动全身。通过组件化开发,可以有效实现单…...
造一个float类型二维矩阵,并将二维矩阵存快速储到一个float*中(memcpy)
// 创建并初始化一个二维数组 std::vector<std::vector<float>> createAndInitializeArray(int rows, int cols) {std::vector<std::vector<float>> array(rows, std::vector<float>(cols));float value 0.0f;for (int i 0; i < rows; i) {…...
python通过继承、组合、委托组织类
1 python通过继承、组合、委托组织类 #概念描述1继承属性查找X.name2多态方法调用X.method,取决于X的类型3封装方法和运算符实现行为 通常来说,独特的运算使用独特的方法名称,不要依赖于调用标记。 python组织类结构的方式包括:…...
OSG粒子系统与阴影-自定义粒子系统示例<1>(4)
自定义粒子系统示例(一) 自定义粒子系统示例(一)的代码如程序清单11-5所示: /* 自定义粒子系统示例1 */ void particleSystem_11_5(const string &strDataFolder) {osg::ref_ptr<osgViewer::Viewer> viewer new osgViewer::Viewer();osg::ref_ptr<os…...
激活函数与其导数:神经网络中的关键元素
激活函数是神经网络中的重要组成部分,有力地推动了深度学习的发展。然而,仅仅了解和选择激活函数是不够的,我们还需要理解激活函数的导数。本文将详细介绍激活函数的概念、作用及其导数的重要性,并探究导数对神经网络训练的影响。…...
微信公众号对接获取用户openid预约项目心路全历程
公众号对接获取openid全历程 一、背景二、选型三、开始修改若依框架四、自己搭后端框架五、前端框架uni-app修改六、对接获取公众号登录用户openId七、总结 一、背景 老板接了朋友的一个公众号需求,要求做一个简单的疫苗预约系统。功能是获取当前登录用户࿰…...
大中小协作 共筑科学梦——华中科技大学附属花城中学举办首届科技节
为普及科学知识,张扬科学精神,创设浓郁的科学氛围,11月24日,华中科技大学附属花城中学举办了以“走近科学,触碰未来”为主题的首届科技节暨科创文化展示周活动。学生们在学习中感受科技的魅力,在“玩”中感…...
比官方便宜一半以上!Midjourney API 申请及使用
Midjourney 是一款非常强大的 AI 绘图工具,只要输入关键字,就能在短短一两分钟生成十分精美的图像。Midjourney 以其出色的绘图能力在业界独树一帜,如今,Midjourney 早已在各个行业和领域广泛应用,其影响力愈发显著。 …...
【AGI空间推理黄金框架】:基于MIT+DeepMind联合验证的4层认知架构,90%研发团队尚未部署
第一章:AGI的视觉理解与空间推理 2026奇点智能技术大会(https://ml-summit.org) 视觉理解与空间推理是通用人工智能(AGI)实现物理世界具身认知的核心能力。它不仅要求模型识别图像中的物体、属性和关系,更需构建动态、可演化的三…...
Unity移动端内存优化实战:从贴图到Shader的完整避坑指南
Unity移动端内存优化实战:从贴图到Shader的完整避坑指南 移动端开发中,内存优化永远是悬在开发者头顶的达摩克利斯之剑。当你的游戏在低端设备上频繁崩溃,或是被应用商店因内存超标下架时,那种绝望感我深有体会。本文将分享我在三…...
LFM2.5-1.2B-Thinking在人力资源领域的应用:智能简历分析系统
LFM2.5-1.2B-Thinking在人力资源领域的应用:智能简历分析系统 1. 引言 每天,HR部门都要面对成百上千份简历,手动筛选耗时耗力,还容易错过优秀人才。传统的关键词匹配方法往往只能看到表面的技能列表,无法深入理解候选…...
Rangy模块化架构揭秘:从零构建可扩展的DOM操作库
Rangy模块化架构揭秘:从零构建可扩展的DOM操作库 【免费下载链接】rangy A cross-browser JavaScript range and selection library. 项目地址: https://gitcode.com/gh_mirrors/ra/rangy Rangy是一个跨浏览器的JavaScript范围和选择库,它通过模块…...
YOLO12实战案例:YOLO12用于数字孪生工厂中设备状态视觉感知
YOLO12实战案例:YOLO12用于数字孪生工厂中设备状态视觉感知 1. 引言:当数字孪生遇到“火眼金睛” 想象一下,你是一家大型制造工厂的负责人。车间里,上百台设备日夜不停地运转,从冲压机到焊接机器人,从传送…...
Nano Banana MCP 集成指南
MCP (Model Context Protocol) 是由 Anthropic 推出的模型上下文协议,它允许 AI 模型(如 Claude、GPT 等)通过标准化接口调用外部工具。借助 AceData Cloud 提供的 Nano Banana MCP 服务器,您可以直接在 Claude Desktop、VS Code、…...
基于大数据的自助餐厅菜品供应优化与分析系统
文章目录前言一、详细操作演示视频二、具体实现截图三、技术栈1.前端-Vue.js2.后端-SpringBoot3.数据库-MySQL4.系统架构-B/S四、系统测试1.系统测试概述2.系统功能测试3.系统测试结论五、项目代码参考六、数据库代码参考七、项目论文示例结语前言 💛博主介绍&#…...
SSD硬盘对HTML工具速度有影响吗_存储介质与开发效率关系【详解】
SSD显著提升HTML开发效率:启动快4.6秒、热重载快750ms、构建快24.7秒、DevTools加载快11.8秒,因SSD在随机读写、I/O延迟和吞吐量上远超HDD。如果您在使用HTML开发工具时发现页面加载、文件保存或构建过程响应迟缓,则可能是存储介质的读写性能…...
NelmioApiDocBundle集成指南:与JMS Serializer、FOSRestBundle完美协作
NelmioApiDocBundle集成指南:与JMS Serializer、FOSRestBundle完美协作 【免费下载链接】NelmioApiDocBundle Generates documentation for your REST API from attributes 项目地址: https://gitcode.com/gh_mirrors/ne/NelmioApiDocBundle NelmioApiDocBun…...
