统计平均分:从文本读取成绩并计算平均分,将平均分写入文本文件保存

从文本读取成绩并计算平均分,将平均分写入文本文件保存。


【学习的细节是欢悦的历程】

  • Python 官网:https://www.python.org/

  • Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单……
    地址:https://lqpybook.readthedocs.io/


  自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
            —— 华罗庚


  • My CSDN主页、My HOT博、My Python 学习个人备忘录
  • 好文力荐、 老齐教室
等风来,不如追风去……


从文本读取成绩并计算平均分
统计平均分
(将平均分写入文本文件保存)


本文质量分:

90
本文地址: https://blog.csdn.net/m0_57158496/article/details/130546907

CSDN质量分查询入口:http://www.csdn.net/qc


目 录

  • ◆ 统计平均分
    • 1、题目描述
    • 2、解题
      • 2.1 读取成绩文本,返回成绩列表
      • 2.2 计算平均分并写入文本文件
    • 3、完整源码


◆ 统计平均分


1、题目描述


  文件 score.txt 中存储了 5 名学生的 6 门课程的成绩,共5行。读取该文件,统计每个学生的平均分,并将统计结果存入文件 score_avg.txt ,如图所示。
  • score.txt 文本内容截屏图片
    在这里插入图片描述
    (问题来源于 CSDN 问答社区提问“问题”)。

回页目录

2、解题


  我采用函数式编程解题,先设计一个成绩读取函数,再写一个计算平均分并写入文本文件函数。


  首选用 pandas ,当然也可以直接 Python 。(我的 Python 环境升级后,一直没 pip install pandas 成功。)


下面我就唠嗑直接 python ——

2.1 读取成绩文本,返回成绩列表

  • 常规写法

def read_score(filename: str) -> list:''' 从csv文本读取成绩,返回成绩列表 '''with open(filename) as f:scores = f.read().split('\n') # 读取成绩文本数据并拆分行。#print(scores) # 调试用语句。return [list(map(int, i.split(','))) for i in scores] # 返回拆分每行成绩成列表并转整。
  • 也可以写成这样:

def read_score(filename: str) -> list:''' 从csv文本读取成绩,返回成绩列表 '''scores = open(filename).read().split('\n') # 读取成绩文本数据并拆分行。#print(scores) # 调试用语句。return [list(map(int, i.split(','))) for i in scores] # 返回拆分每行成绩成列表并转整。
  • 函数调用

if __name__ == '__main__':print(read_score(f"{path}score.txt"))
  • 代码运行效果截屏图片
    在这里插入图片描述

  如图所见,代码能够成功读取成绩为列表。


回页目录

2.2 计算平均分并写入文本文件

  • 函数代码

def save_avg(filename: str, scores: list) -> None:''' 保存平均分文件 '''with open(filename, 'w') as f:for i in scores:#f.write(str(sum(i)/len(i))) # 计算并写入文本文件。#f.write('\n') # 写入换行符,一个学生一行。f.write(f"{sum(i)/len(i):.1f}\n") # 也可以用插值字符串格式一次写入。print('\n平均分已成功保存到文本文件。')
  • 调用函数

if __name__ == '__main__':save_avg(f"{path}score_avg.txt", read_score(f"{path}score.txt"))
  • 代码运行效果截屏图片
    在这里插入图片描述

  • 平均分文本

    • 默认
      在这里插入图片描述
    • 保留一位小数
      在这里插入图片描述

  插值字符串格式写法可以更方便的设置小数位数。
  前者写法,在 str 之前可以调用 round() 保留小数,round(float, 2) 保留两位小数,round(float, 1) 保留一位小数。

如:


def save_avg(filename: str, scores: list) -> None:''' 保存平均分文件 '''with open(filename, 'w') as f:for i in scores:f.write(str(round(sum(i)/len(i), 1))) # 计算并写入文本文件。f.write('\n') # 写入换行符,一个学生一行。#f.write(f"{sum(i)/len(i):.1f}\n") # 也可以用插值字符串格式一次写入。print('\n平均分已成功保存到文本文件。')


回页目录

3、完整源码

(源码较长,点此跳过源码)

#!/sur/bin/nve python
# coding: utf-8path = r'/sdcard/Documents/'def read_score(filename: str) -> list:''' 从csv文本读取成绩,返回成绩列表 '''with open(filename) as f:scores = f.read().split('\n') # 读取成绩文本数据并拆分行。#print(scores) # 调试用语句。return [list(map(int, i.split(','))) for i in scores] # 返回拆分每行成绩成列表并转整。def read_score(filename: str) -> list:''' 从csv文本读取成绩,返回成绩列表 '''scores = open(filename).read().split('\n') # 读取成绩文本数据并拆分行。print(scores) # 调试用语句。return [list(map(int, i.split(','))) for i in scores] # 返回拆分每行成绩成列表并转整。def save_avg(filename: str, scores: list) -> None:''' 保存平均分文件 '''with open(filename, 'w') as f:for i in scores:f.write(str(round(sum(i)/len(i), 1))) # 计算并写入文本文件。f.write('\n') # 写入换行符,一个学生一行。#f.write(f"{sum(i)/len(i):.1f}\n") # 也可以用插值字符串格式一次写入。print('\n平均分已成功保存到文本文件。')if __name__ == '__main__':save_avg(f"{path}score_avg.txt", read_score(f"{path}score.txt"))

回页首

上一篇:  统计字符中字符出现的次数(输入一个字符串,输出字符及相应字符出现的次数)
下一篇: 

我的HOT博:

  本次共计收集 201 篇博文笔记信息,总阅读量 32.59w,平均阅读量 1621。已生成 21 篇阅读量不小于 3000 的博文笔记索引链接。数据采集于 2023-05-06 05:25:55 完成,用时 4 分 44.70 秒。


  1. 让QQ群昵称色变的神奇代码
    ( 53797 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122566500
    点赞:23   踩 :0  收藏:78  打赏:0  评论:16
    本篇博文笔记于 2022-01-18 19:15:08 首发,最晚于 2022-01-20 07:56:47 修改。
  2. ChatGPT国内镜像站初体验:聊天、Python代码生成等
    ( 49298 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/129035387
    点赞:123   踩 :0  收藏:786  打赏:0  评论:75
    本篇博文笔记于 2023-02-14 23:46:33 首发,最晚于 2023-03-22 00:03:44 修改。
  3. pandas 数据类型之 DataFrame
    ( 8074 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/124525814
    点赞:6   踩 :0  收藏:24  打赏:0  评论:0
    本篇博文笔记于 2022-05-01 13:20:17 首发,最晚于 2022-05-08 08:46:13 修改。
  4. 罗马数字转换器|罗马数字生成器
    ( 6404 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122592047
    点赞:0   踩 :0  收藏:1  打赏:0  评论:0
    本篇博文笔记于 2022-01-19 23:26:42 首发,最晚于 2022-01-21 18:37:46 修改。
  5. Python字符串居中显示
    ( 6104 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122163023
    点赞:1   踩 :0  收藏:5  打赏:0  评论:1
    本篇博文笔记于 2021-12-26 23:35:29 发布。
  6. 斐波那契数列的递归实现和for实现
    ( 5297 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122355295
    点赞:4   踩 :0  收藏:2  打赏:0  评论:8
    本篇博文笔记于 2022-01-06 23:27:40 发布。
  7. 个人信息提取(字符串)
    ( 5138 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/124244618
    点赞:1   踩 :0  收藏:8  打赏:0  评论:0
    本篇博文笔记于 2022-04-18 11:07:12 首发,最晚于 2022-04-20 13:17:54 修改。
  8. 练习:字符串统计(坑:f‘string‘报错)
    ( 4870 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/121723096
    点赞:0   踩 :0  收藏:1  打赏:0  评论:0
    本篇博文笔记于 2021-12-04 22:54:29 发布。
  9. 练习:尼姆游戏(聪明版/傻瓜式•人机对战)
    ( 4594 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/121645399
    点赞:14   踩 :0  收藏:42  打赏:0  评论:0
    本篇博文笔记于 2021-11-30 23:43:17 发布。
  10. 回车符、换行符和回车换行符
    ( 4357 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/123109488
    点赞:0   踩 :0  收藏:2  打赏:0  评论:0
    本篇博文笔记于 2022-02-24 13:10:02 首发,最晚于 2022-02-25 20:07:40 修改。
  11. python清屏
    ( 4293 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/120762101
    点赞:0   踩 :0  收藏:5  打赏:0  评论:0
    本篇博文笔记于 2021-10-14 13:47:21 发布。
  12. 密码强度检测器
    ( 3886 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/121739694
    点赞:1   踩 :0  收藏:4  打赏:0  评论:0
    本篇博文笔记于 2021-12-06 09:08:25 首发,最晚于 2022-11-27 09:39:39 修改。
  13. 罗马数字转换器(用罗马数字构造元素的值取模实现)
    ( 3811 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122608526
    点赞:0   踩 :0  收藏:0  打赏:0  评论:0
    本篇博文笔记于 2022-01-20 19:38:12 首发,最晚于 2022-01-21 18:32:02 修改。
  14. Python列表(list)反序(降序)的7种实现方式
    ( 3649 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/128271700
    点赞:4   踩 :0  收藏:12  打赏:0  评论:8
    本篇博文笔记于 2022-12-11 23:54:15 首发,最晚于 2023-03-20 18:13:55 修改。
  15. 练习:生成100个随机正整数
    ( 3590 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122558220
    点赞:1   踩 :0  收藏:3  打赏:0  评论:0
    本篇博文笔记于 2022-01-18 13:31:36 首发,最晚于 2022-01-20 07:58:12 修改。
  16. 练习:班里有人和我同生日难吗?(概率probability、蒙特卡洛随机模拟法)
    ( 3538 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/124424935
    点赞:1   踩 :0  收藏:2  打赏:0  评论:0
    本篇博文笔记于 2022-04-26 12:46:25 首发,最晚于 2022-04-27 21:22:07 修改。
  17. 我的 Python.color() (Python 色彩打印控制)
    ( 3377 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/123194259
    点赞:2   踩 :0  收藏:7  打赏:0  评论:0
    本篇博文笔记于 2022-02-28 22:46:21 首发,最晚于 2022-03-03 10:30:03 修改。
  18. 练习:仿真模拟福彩双色球——中500w巨奖到底有多难?跑跑代码就晓得了。
    ( 3216 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/125415626
    点赞:3   踩 :0  收藏:4  打赏:0  评论:3
    本篇博文笔记于 2022-06-22 19:54:20 首发,最晚于 2022-06-23 22:41:33 修改。
  19. 聊天消息敏感词屏蔽系统(字符串替换 str.replace(str1, *) )
    ( 3076 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/124539589
    点赞:3   踩 :0  收藏:2  打赏:0  评论:3
    本篇博文笔记于 2022-05-02 13:02:39 首发,最晚于 2022-05-21 06:10:42 修改。
  20. Linux 脚本文件第一行的特殊注释符(井号和感叹号组合)的含义
    ( 3038 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/123087606
    点赞:0   踩 :0  收藏:4  打赏:0  评论:3
    本篇博文笔记于 2022-02-23 13:08:07 首发,最晚于 2022-04-04 23:52:38 修改。
  21. 练习:求列表(整数列表)平衡点
    ( 3023 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/121737612
    点赞:0   踩 :0  收藏:0  打赏:0  评论:0
    本篇博文笔记于 2021-12-05 23:28:10 发布。
推荐条件 阅读量突破三千
(更多热博,请点击蓝色文字跳转翻阅)

回页首


老齐漫画头像

精品文章:

  • 好文力荐:齐伟书稿 《python 完全自学教程》 Free连载(已完稿并集结成书,还有PDF版本百度网盘永久分享,点击跳转免费🆓下载。)
  • OPP三大特性:封装中的property
  • 通过内置对象理解python'
  • 正则表达式
  • python中“*”的作用
  • Python 完全自学手册
  • 海象运算符
  • Python中的 `!=`与`is not`不同
  • 学习编程的正确方法

来源:老齐教室


回页首

◆ Python 入门指南【Python 3.6.3】


好文力荐:

  • 全栈领域优质创作者——[寒佬](还是国内某高校学生)博文“非技术文—关于英语和如何正确的提问”,“英语”和“会提问”是编程学习的两大利器。
  • 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
  • 靠谱程序员的好习惯
  • 大佬帅地的优质好文“函数功能、结束条件、函数等价式”三大要素让您认清递归

CSDN实用技巧博文:

  • 8个好用到爆的Python实用技巧
  • python忽略警告
  • Python代码编写规范
  • Python的docstring规范(说明文档的规范写法)

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

x in ‘Yy‘ == x in list(‘Yy‘)? ‘‘ 空字符串是任何字符串的子串

‘’ 空字符串是任何字符串的子串。如果您也喜欢 in 的简洁美妙, in 字符串时切记谨慎操作。 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础…

Python 代码打造小 AI ,罗列博文笔记总索引列表,自动生成“我的博文笔记总索引”博文 HTML5 源码文本

Python 代码打造小 AI ,获取笔记信息,自动阅读量降序编排索引列表,生成 HTML5 源码文本。 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free:大咖免费“圣经”教程《 python 完全自学教程》&…

Python四则运算“计算器”——整数口算练习“小程序”

设定练习题目数量、最大取值整数数,即时判定,答对鼓励答错打印正确结果。 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简…

排位赛结果“测谎”

甲乙丙丁说的关于排位赛结果只正确一半,根据甲乙丙丁说的信息求出正确的排位赛结果顺序。 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那…

阶乘求和——求1~202320232023的阶乘总和的末尾九位数字

求 1! 2! 3! … 202320232023! ,总和的末尾九位数字。 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单…… 地址:ht…

五分钟写一段Python代码调用ChatGPT服务

ChatGPT是现在很火的AI网站,行业里现在也有很多围绕ChatGPT进行二次开发的AI产品。今天我们来试一试,花5分钟时间,自己写一段代码来调用ChatGPT的服务。希望通过这个小任务,大家会发现ChatGPT和AI离我们并不遥远。 前提&#xff…

教育硬件“老玩家”进入智能手机新赛道,小度胜算几何?

从5月8日有传言称“百度旗下小度将进军智能手机市场”,到5月17日小度官宣将推出旗下新物种产品——小度青禾学习手机,小度在短短10天时间成为市场关注的焦点。 而5月22日,其也拿出了真正的成果,这部专门为青少年打造的学习手机正…

小度即将推出智能手机产品,醉翁之意意在何为?

5月8日,智哪儿从相关渠道获悉,小度即将于5月下旬发布首款智能手机产品。小度科技通过公开渠道确认了上述信息并透露将于下周披露更详细的产品信息。根据市场调查机构Counterpoint Research公布的最新报告,2023年第一季度全球智能手机市场出货…

当 AI 冲击自动化编程,谁将成为受益者?

整理 | 明明如月 责编 | 何苗 出品 | 《开谈》(ID:CSDNnews) 在软件工程中,自动编程一直被视为圣杯。从编译器诞生时代开始,程序自动生成的目标就是将接近自然语言的高级语言翻译成低级语言,最终目标…

纯英文外刊原刊在哪看?怎么看?

.大家都知道,考研英语、雅思、托福、GRE中的文章很多都是来自外刊,它就是一个随机的阅读题库。选择哪些外刊作为备考资料很重要,下面几种外刊可以供大家参考。 时政经济类:经济学人(the Economist)、哈佛商…

有必要看考研英语外刊吗?

外刊是真题的替代品? 在真题数量有限且宝贵的当下,阅读题源外刊已经成为广大考生的不二之选。 但是这是否代表外刊就是真题的替代品呢?答案是否定的。 确定中心 考研是考试,考查方式是考生解题的能力。这就决定了我们在复习过程中…

外刊IT名人/名言

UNIX很简单。但需要有一定天赋的人才能理解这种简单。 –Dennis Ritchie 软件在能够复用前必须先能用。 –Ralph Johnson 优秀的判断力来自经验,但经验来自于错误的判断。 –Fred Brooks ‘理论’是你知道是这样,但它却不好用。‘实践’是它很好用&#…

【外刊】睡眠与减肥

思考 1.睡眠影响饮食习惯的哪些方面? 2.“导致”在英文中可以怎样表达? A fools bolt may sometimes hit the mark : 愚者千虑,必有一得 Can the way you sleep affect your eating habits? 你的睡眠方式会影响饮食习惯吗? 01:00 Mo…

6.22外刊打卡

《赖世雄讲英语》第26期:政治民意调意_品牌英语口语 - 可可英语http://www.kekenet.com/kouyu/201208/195943.shtml 转载于:https://www.cnblogs.com/wanghui626/p/9211747.html

必须关注的考研英语外刊公众号合集(不看后悔)

赶紧来看噢,不看你会后悔的。(哈哈哈) 文章不长,但绝对干货(不信你就往下看) 注意,这里我强烈建议你先点赞收藏,因为这里所推荐的所有资源都是我精心挑选并使用过的,错…

外刊逐句精读|《经济学人》:戒酒、吃素,禁食都有啥讲究?

The art of fasting In a season of abstinence, take a lesson from Ethiopia Short days, long nights, freezing temperatures, Christmas a swiftly fading memory and the prospect of spring remote—“the cruellest month” is not April, as T.S. Eliot wrote, but J…

外刊逐句精读|《金融时报》:亚马逊的官方水军

The perils of using staff as online influencers 正文: Others can learn from Amazon’s failed social media diplomacy Amazon has finally scrapped a campaign /to use paid “fulfilment centre ambassadors”/ to polish its image /on social media an…

外刊/网站公众号以一敌三的英语外刊精读公众号 英语外刊阅读

赶紧来看噢,不看你会后悔的。(哈哈哈) 文章不长,但绝对干货(不信你就往下看) 注意,这里我强烈建议你先点赞收藏,因为这里所推荐的所有资源都是我精心挑选并使用过的,错…

英语外刊精读(Part 1):day1,泛读;day2,精读(上); day3,精读(下);

目录 阅读方法day1day2day3宗旨 day1\2\3笔记单词第一段第二段第三段第四段第五段第六段第七段第八段第九段 句子段落第一段第二段第五段第六段第七段第八段 思考题(待修改)总结文章。。 阅读方法 day1 通读原文,不借工具,遇到不会先跳过。 提取中心句…

外刊精读第01篇 (Economist Jun 4th 2016) Avoiding sunburn

Avoiding sunburn 避免晒伤 Patched up 晒时贴一片 How to avoid solar overexposure, and still get a tan? 怎样在避免晒伤的同时,晒个美美的小麦肤? 1 .SUN cream is a fickle friend. It protects against burn-inducing ultraviolet (UV) li…