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

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

目录

题目:

代码:

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文件中。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酷酷滴Q

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值