输入学生的信息学号、姓名、语文成绩、数学成绩、英语成绩,计算总分、并按总分成绩排序,再写到另一个txt文件中(python)

news2024/11/23 23:42:27

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

题目:

代码:

1.提前写入标题栏(学号、姓名、语文、数学、英语、总分)

 2.再写入学生的信息

3.读取score2.txt文件

4.计算总分成绩

5.按总分成绩排序(降序)

6.打印处理score2.txt后的结果到控制台

7.将结果写入score3.txt文件

全部代码:

效果截图:

总结


题目:

       输入学生的信息学号、姓名、语文成绩、数学成绩、英语成绩,计算总分、并按总分成绩经行排序(降序),再写到另一个txt文件中。

思路:先将学生信息写入score2.txt文件,再读取score2.txt文件的内容,计算总分、排序后再写入score3.txt文件

代码:

1.提前写入标题栏(学号、姓名、语文、数学、英语、总分)

with open("E:\存/score2.txt", "w") as f1:#提前写入标题栏
    f1.write("学号\t姓名\t语文\t数学\t英语\t总分\n")


 2.再写入学生的信息

n=int(input("请输入学生的人数:"))#写入信息
print("请分别输入%d个学生的学号、姓名、语文、数学、英语成绩(以空格隔开):"%n)
for i in range(n):
    s=input().split()
    number,name,yuwen,shuxue,yingyu=s[0],s[1],float(s[2]),float(s[3]),float(s[4])
    with open("E:\存/score2.txt", "a") as f1:#选择追加‘a’
     f1.write("%s\t%s\t%.2f\t%.2f\t%.2f\t\n"%(number,name,yuwen,shuxue,yingyu))

3.读取score2.txt文件

with open("E:\存/score2.txt","r")as f1:
    txts=f1.readlines()
    #print(txts)#读取文件

4.计算总分成绩

score=[]#计算总成绩
for i in txts:
    ls=i.split()
    score.append((i.split()))
for h in score[1:]:#将每一行的成绩加到,每一行的总分
    zf=float(h[2])+float(h[3])+float(h[4])
    h.append(str(zf))

5.按总分成绩排序(降序)


score.sort(key=lambda x:x[5],reverse=True)#排序降序
#print(score)

6.打印处理score2.txt后的结果到控制台

for h in score:#控制台输出结果
    for j in range(6):
        print(h[j],end="\t")
    print()

7.将结果写入score3.txt文件

#将结果写入文本score3.txt文件
with open("E:\存/score3.txt","w")as f1:
    for h in score:
        for i in h:
            f1.write(i+"\t")
        f1.write("\n")

全部代码:

with open("E:\存/score2.txt", "w") as f1:#提前写入标题栏
    f1.write("学号\t姓名\t语文\t数学\t英语\t总分\n")

n=int(input("请输入学生的人数:"))#写入信息
print("请分别输入%d个学生的学号、姓名、语文、数学、英语成绩(以空格隔开):"%n)
for i in range(n):
    s=input().split()
    number,name,yuwen,shuxue,yingyu=s[0],s[1],float(s[2]),float(s[3]),float(s[4])
    with open("E:\存/score2.txt", "a") as f1:#选择追加‘a’
     f1.write("%s\t%s\t%.2f\t%.2f\t%.2f\t\n"%(number,name,yuwen,shuxue,yingyu))

with open("E:\存/score2.txt","r")as f1:
    txts=f1.readlines()
    #print(txts)#读取文件

score=[]#计算总成绩
for i in txts:
    ls=i.split()
    score.append((i.split()))
for h in score[1:]:#将每一行的成绩加到,每一行的总分
    zf=float(h[2])+float(h[3])+float(h[4])
    h.append(s3tr(zf))

score.sort(key=lambda x:x[5],reverse=True)#排序降序
#print(score)

for h in score:#控制台输出结果
    for j in range(6):
        print(h[j],end="\t")
    print()

#将结果写入文本score3.txt文件
with open("E:\存/score3.txt","w")as f1:
    for h in score:
        for i in h:
            f1.write(i+"\t")
        f1.write("\n")

效果截图:

控制台效果:

score3.txt效果:

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了输入学生的信息学号、姓名、语文成绩、数学成绩、英语成绩,计算总分、并按总分成绩经行排序(降序),再写到另一个txt文件中。

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

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

相关文章

机器学习西瓜书学习记录-第五章 神经网络

第5章 神经网络 5.1神经元模型 神经网络中最基本的成分是神经元模型。 “M-P神经元模型”,又称“阈值逻辑单元” 在模型中,神经元接收到来自n个其他神经元传递过来的输入信号,这些输入信号通过带权重的连接进行传递,神经元接收到…

分分钟让你学会栈和队列

数据结构——栈和队列 🏖️专题:数据结构 🙈作者:暴躁小程序猿 ⛺简介:双非本科大二小菜鸟一枚,希望我的博客可以对大家有所帮助 文章目录数据结构——栈和队列前言一、什么是栈?二、栈的相关概…

计算机毕设(附源码)JAVA-SSM蓟县农家乐网站

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

算法竞赛进阶指南 搜索 0x26 广搜变形

双端队列BFS 在最基本的广度优先搜索中,每次沿着分支的扩展都记为“一步”,我们通过逐层搜索,解决了求从起始状态到每个状态的最少步数的问题。这其实等价于在一张边权均为1的图上执行广度优先遍历,求出每个点相对于起点的最短距…

程序员的数学好难学?一切从基础开始!

数学知识对编程很有用,但是很多写给程序员的数学书都比较难。我们为什么不从基础的数学知识开始学习呢? 程序员的数学基础 Python实战 1.本书的重点不在于如何解题,而在于帮助读者在计算机世界里如何利用数学解决算法问题,让程序…

WinForm应用实战开发指南 - 教你如何实现表头的全选操作?

WinForms分页控件,在很多场合都需要用到,由于整合较多的功能操作,使用起来效果更好,界面统一性也比较一致。其中的勾选操作,在有些场合下,也是比较有用的,因此提供该功能的整合。 PS&#xff1…

基于改进神经网络的风电功率预测(Matlab代码实现)

💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑…

【K8S系列】Kubernetes 之kubectl 常用命令汇总

目录 一、kubetcl简单介绍 二、命令介绍 详细介绍: 三、部分命令详细介绍 3.1 create 3.2 get 3.3 describe 3.4 rolling-update 3.5 exec 3.6 log kubectl 是 Kubernetes 自带的客户端,可以用它来直接操作 Kubernetes 集群。 日常在使用 Kuber…

Swift 周报 第十六期

前言 本期是 Swift 编辑组自主整理周报的第七期,每个模块已初步成型。各位读者如果有好的提议,欢迎在文末留言。 欢迎投稿或推荐内容。目前计划每两周周一发布,欢迎志同道合的朋友一起加入周报整理。 当你来到双水村以外的大世界&#xff…

操作系统实验二死锁避免之银行家算法的模拟

文章目录 死锁 (1)定义 (2)死锁产生的原因 (3)死锁产生的必要条件 (4)死锁的处理策略 银行家算法 (1)核心思想 (2)数据结构 &#x…

2.2 Pycharm 的使用

文章目录1. PyCharm 安装2. Python 项目3. 外貌设置4. 配色方案5. 字体大小6. 自动换行7. 汉化8. 翻译插件9. 添加多个解释器10. Pycharm 常用快捷键11. 自定义文件模板内容12. 前端代码运行浏览器13. 关闭 with open 提示14. 双击shift查找15. 导出配置导入配置1. PyCharm 安装…

Gwas实战分析3_群体结构增加

1.sh plink 格式转化 plink1.map/plink1.ped ------plink2.bim/fam/bed plink --file 1001genomes_snps_only_ACGTN1 --make-bed --out plink2 2.sh 群体结构分析 时间过久: for K in 2 3 4 5 6 7 8 9 10; do admixture --cv plink2.bed K∣teeadmixtrueK | tee…

HTML小游戏4 —— 简易版英雄联盟(附完整源码)

💂 网站推荐:【神级源码资源网】【摸鱼小游戏】🤟 风趣幽默的前端学习课程:👉28个案例趣学前端💅 想寻找共同学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】💬 免费且实用的计算机相关知…

基于C#实现的在线聊天室的桌面系统软件

资源下载地址:https://download.csdn.net/download/sheziqiong/86863237 资源下载地址:https://download.csdn.net/download/sheziqiong/86863237 目录 个人聊天室软件 1 需求分析与概要设计 1 项目说明 1 1.1. 项目目标: 1 1.2. 软硬件环境…

庖丁解牛 指针的高端操作

本章重点 写在前面 1.字符指针 2.指针数组 3.数组指针 3.1数组指针的定义 3.2 &数组名VS数组名 3.3 数组指针的使用 二维数组与数组指针 4.数组参数和指指针参数 4.1一维数组传参 4.2 二维数组传参 4.3一级指针传参 4.4二级指针传参 5.函数指针 5.1函数指针的…

SSM基于小程序的医院预约挂号系统 毕业设计-附源码260839

SSM医院预约挂号小程序的设计与实现 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对医院排…

Prometheus系列(2)之EC2安装Node端

目标 为Prometheus安装Node程序。 步骤 node exporter程序 wget https://github.com/prometheus/node_exporter/releases/download/v1.4.0/node_exporter-1.4.0.linux-amd64.tar.gz tar xvzf node_exporter-1.4.0.linux-amd64.tar.gz cd node_exporter-1.4.0.linux-amd64/s…

技术分享 | 专项测试技术初识Hook

本文节选自霍格沃兹测试学院内部教材Hook 技术需要预先分析目标应用的源代码和逻辑,根据目标测试场景设置目标、逻辑和数据,然后运行时动态的对目标函数参数值、逻辑或者返回值做修改,达到修改现有函数逻辑、实现目标测试场景的目的。 Hook的…

汇编语言指令

文章目录算术运算指令ADDADDISUB伪指令LUILIAUIPCLA逻辑运算指令内存读写指令条件分支指令无条件跳转指令算术运算指令 ADD 语法ADD RD,RS1,RS2例子add x5,x6,x7x5x6x7编码格式:R-type opcode(7):0110011(OP) 从RS里面取出数据,把里面的数据…

【MyBatis框架】关联映射

关系映射1. 关联映射概述2. 环境搭建3.处理字段名和属性名不一致的情况4. 处理一对一映射5. 处理多对一映射5.1 级联方式处理5.2 使用association处理映射关系5.3 分步查询6. 处理一对多查询7. 小结1. 关联映射概述 在关系型数据库中,多表之间存在着三种关联关系&a…