二1- 2022-05-29 03:30 采纳率: 60%
浏览 239
已结题

读入文本文件并按格式输出

题目:在文本文件scores.txt中保存了一些专业的课程平均分,如下图所示:
专业 C语言 Java Python C# Javascript
软件工程 95 96 85 63 91
计算机科学与技术 75 93 66 85 88
网络工程 86 76 96 93 67

编写一个Python程序,读入文本文件scores.txt中的数据,存放在二维列表中,并输出所有专业的分数;计算每个专业的最高分和最低分,按输出格式要求输出每个专业的名称、最高分、最低分以及对应的课程名(已知没有同分的情况);输出格式参照下图:
专业 C语言 Java Python C# Javascript
软件工程 95 96 85 63 91
计算机科学与技术 75 93 66 85 88
网络工程 86 76 96 93 67
专业:软件工程 最低分('Java',96) 最低分(‘C#’,63)
专业:计算机科学与技术 最高分(‘Java',93) 最低分('Python’, 66)
专业:网络工程 最高分('Python‘,96) 最低分(’Javascript‘,67)

  • 写回答

2条回答 默认 最新

  • GoodCoder666 2022-05-29 05:58
    关注

    解法∶从文件中逐行读入,每行找到最大最小输出即可。
    代码比较简洁,速度快

    with open('scores.txt', 'r') as f:
        titles = f.readline().split()
        lines = [line.split() for line in f]
        for line in lines:
            scores = list(map(int, line[1:]))
            minIndex = scores.index(min(scores)) + 1
            maxIndex = scores.index(max(scores)) + 1
            print(f"专业:{line[0]} 最高分('{titles[maxIndex]}',{line[maxIndex]}) 最低分('{titles[minIndex]}',{line[minIndex]})")
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
    GoodCoder666 2022-05-29 05:58

    如有帮助请给予采纳,谢谢!

    回复
查看更多回答(1条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 6月5日
  • 已采纳回答 5月29日
  • 创建了问题 5月29日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部