用 Python 画一张成绩分布图:带孩子们读懂数据里的信息
为什么要讲这个知识点孩子们学完列表、循环、条件判断之后容易停在语法会了但不知道能干什么。成绩分布图是一个很好的落点数据是孩子自己身边的一次测验的分数处理过程用到列表统计和循环输出结果又是一张看得见的图。更重要的是画完之后要回答几个问题——哪一段分数的人最多及格率是多少最高分和最低分差多少把写代码和读数据接在一起孩子才知道程序是用来回答问题的。这篇文章只用 Python 标准库和 matplotlib代码在 Python 3.8 以上版本可直接运行。完整代码先准备一份成绩数据可以让孩子换成自己班的真实分数importmatplotlib.pyplotasplt plt.rcParams[font.sans-serif][SimHei]# 正常显示中文plt.rcParams[axes.unicode_minus]False# 正常显示负号scores[88,92,75,60,45,98,81,73,66,55,90,84,79,62,100,71,68,58,95,87]# 1. 按 10 分一段统计人数groups[0-9,10-19,20-29,30-39,40-49,50-59,60-69,70-79,80-89,90-100]counts[0]*10forsinscores:ifs100:counts[9]1else:counts[s//10]1# 2. 统计基本指标totallen(scores)averagesum(scores)/total pass_count0forsinscores:ifs60:pass_count1pass_ratepass_count/total*100print(总人数,total)print(平均分%.1f%average)print(最高分,max(scores), 最低分,min(scores))print(及格率%.1f%%%pass_rate)foriinrange(10):print(groups[i],分,counts[i],人)# 3. 画分布图plt.figure(figsize(9,5))barsplt.bar(groups,counts,color#4C9AFF)forb,cinzip(bars,counts):ifc0:plt.text(b.get_x()b.get_width()/2,c0.1,str(c),hacenter,fontsize10)plt.title(一次测验的成绩分布)plt.xlabel(分数段)plt.ylabel(人数)plt.xticks(rotation45)plt.tight_layout()plt.show()代码要点拆解第一处counts [0] * 10这是先造桶再往里放东西的思路。10 个分数段就是 10 个桶初始都是 0。孩子需要理解列表乘法不是复制引用那么简单——这里元素是整数所以没问题如果元素是列表就要用别的方式。这点可以留到以后再讲现在先记住整数列表可以这样初始化。第二处counts[s // 10] 1整除是这段代码的核心。88 // 10 得到 8正好对应第 8 个桶下标从 0 开始也就是 “80-89” 这一组。这条规则对 0 到 99 分都成立唯独 100 分算出来是 10会越界。所以前面单独处理了 100 分的情况。让孩子自己想想如果不写这个 if程序会报什么错第三处柱子上标数字plt.text三个关键参数横坐标取柱子中心纵坐标取c 0.1让数字浮在柱子上方一点hacenter保证文字水平居中对齐。不加ha的话数字会偏到柱子右边。学生常见错误1. 下标和分数段对不上。有孩子写成counts[s // 10 1]结果 88 分被算进了 “90-100”。要让孩子拿几个具体数字手动推一遍比如 60、69、70 分别应该落在哪一段。2. 100 分漏掉。上面说的越界问题很多孩子第一次写必踩。这正好是一个边界值要单独想的训练机会。3. 及格率算成整数。如果写成pass_count // total * 100结果永远是 0因为整除先算出 0 再乘 100。要提醒用/而不是//或者先乘后除。4. 中文显示成方框。不设font.sans-serif就会看到一堆小方块这不是程序错了是字体没配。让孩子知道报错和显示不对是两类不同的问题。5. 数据里出现超过 100 或负数。真实数据往往不干净。可以问孩子如果有个同学考了 105 分加分题程序会怎样可以留的练习把分数段改成 5 分一段需要改哪几行增加统计不及格低于 60、良好70-89、优秀90 以上各多少人并在图上用不同颜色区分。把scores改成input()逐个输入输入 -1 结束。想一想为什么要用一个特殊值当结束标志。计算中位数把分数排序后取中间那个数。如果人数是偶数怎么办小结这张图的重点不在画得多好看而在统计口径这四个字。同样的 20 个分数按 10 分一段和按 5 分一段看到的信息不一样算不算 100 分那一档结果也不一样。让孩子养成一个习惯图表画出来之后先问自己一句这张图想说明什么它有没有骗我。这个问题比会写plt.bar重要得多。

相关新闻

合并多份材料后页码乱了?聊聊 PDF 加页码的正确做法

合并多份材料后页码乱了?聊聊 PDF 加页码的正确做法

一个被严重低估的小需求 把几份材料合并成一个 PDF 交上去——这是办公里最常见的动作之一。但合并完你往往会发现:页码不对。 因为每份原始材料都有自己的页码。合并后的文件里,你会看到"封面 → 目录(第 i 页)→ 正文 1-…

2026/10/1 20:55:01 阅读更多 →
剪映操作|一张照片怎么生成带动作和镜头运动的视频

剪映操作|一张照片怎么生成带动作和镜头运动的视频

适用对象:AI视频生成任务的创作者。本文只处理“一张照片怎么生成带动作和镜头运动的视频?”这一件事。先确定这一条要解决什么最稳的做法是:处理“一张照片怎么生成带动作和镜头运动的视频?”,把生成或自动剪辑当作初…

2026/10/1 20:55:01 阅读更多 →
Redis如何成为AI Agent的实时记忆中枢与技能总线

Redis如何成为AI Agent的实时记忆中枢与技能总线

1. 项目概述:Redis 已正式接入 AI —— 这不是营销话术,而是架构层的真实演进“Redis 已正式接入 AI”——看到这个标题,你第一反应可能是:又一个蹭热点的标题党?AI 跟 Redis 一个内存数据库,能有什么实质性…

2026/10/1 20:55:01 阅读更多 →

最新新闻

ACPI六大状态解析:G/S/C/P/T/D与系统电源管理

ACPI六大状态解析:G/S/C/P/T/D与系统电源管理

做过几年固件和操作系统底层的人,基本都绕不开ACPI这几个字母。ACPI(Advanced Configuration and Power Interface)里的state概念,说白了就是一套全系统电源管理的“状态机”,从整个电脑是开机还是关机,到C…

2026/10/2 22:54:11 阅读更多 →
AI应用底座QuickBlue:从模型网关到Agent编排的企业级中间层

AI应用底座QuickBlue:从模型网关到Agent编排的企业级中间层

团队里最近频繁有人问我同一个问题:QuickBlue 到底是什么,为什么这半年大家突然都在聊“AI 应用底座”?尤其是在我们自己内部做技术选型、帮客户规划 Agent 落地的时候,“底座”这个词出现的频率高到让人不得不重视。今天这篇就围…

2026/10/2 22:54:10 阅读更多 →
RF-Adaboost多源工业数据融合分类实战

RF-Adaboost多源工业数据融合分类实战

简介:本资源是一份面向机器学习从业者与进阶初学者的Python集成学习实战项目,聚焦随机森林与AdaBoost融合建模,解决多输入、高噪声场景下的复杂分类任务,尤其适用于金融风控、医疗诊断等对鲁棒性与可解释性要求较高的领域。压缩包…

2026/10/2 22:54:10 阅读更多 →
下班后9小时搞定AI漫剧:从文案到成片的完整实战记录

下班后9小时搞定AI漫剧:从文案到成片的完整实战记录

下班路上刷到一条AI漫剧的热榜,说实话我盯了很久了。这阵子“AI漫剧”“AI短剧”确实有点泛滥,从3分钟反转小剧场到连载条漫动画到处都能刷到,但绝大多数都是专业团队在秀肌肉,动不动就是几十人的AI工作流,普通人看了根…

2026/10/2 22:54:10 阅读更多 →
干货合集:2026年最值得体验的专业AI论文写作工具

干货合集:2026年最值得体验的专业AI论文写作工具

2026年AI论文写作工具已从“基础生成”升级为融合智能分析与学术合规的全流程解决方案,核心评价维度包括文献真实性、格式合规性、长文本逻辑、查重降重、AIGC合规等。本次测评覆盖6款主流工具,涵盖中英文写作、全流程与专项功能、免费与付费版本&#x…

2026/10/2 22:54:10 阅读更多 →
AssetBundle热更新安全排查:从CDN清单到本地缓存的全链路校验指南

AssetBundle热更新安全排查:从CDN清单到本地缓存的全链路校验指南

1. 项目概述:一次热更新安全隐患排查的完整复盘 做 Unity 客户端开发的朋友应该都有体会,AssetBundle 热更新方案上线容易,但真正让它长期稳定跑起来,靠的是细节。尤其是当你的游戏量级上来、CDN 节点分叉、本地缓存策略多样化之后…

2026/10/2 22:53:09 阅读更多 →

日新闻

从零搭建AI工程化:模型之外的完整闭环

从零搭建AI工程化:模型之外的完整闭环

先搞清楚一件事:从零开始做 AI 工程化,难的从来不是调模型、写提示词,而是把一套原型 Demo 变成长得像是“正经系统”的东西。你手里可能已经有了能跑通的代码,也可能刚读完一些概念,但真到了要把它变成可维护、可观测…

2026/10/2 0:00:20 阅读更多 →
大模型训练显存估计与混合精度训练实战指南

大模型训练显存估计与混合精度训练实战指南

1. 大模型训练显存估计与混合精度训练详解显存不够用,几乎是每个做大模型训练的人都会撞上的第一堵墙。你可能也经历过:模型代码写完了,数据管道跑通了,满心欢喜地按下训练启动脚本,结果几秒钟后终端弹出一行红字——C…

2026/10/2 0:00:20 阅读更多 →
小样本学习数据集选型指南:27个真正可用的高质量数据集

小样本学习数据集选型指南:27个真正可用的高质量数据集

1. 小样本学习的“弹药库”:为什么你总在找数据集,却总找不到真正能用的? 小样本、数据集——这两个词最近半年在我处理的200多个AI项目咨询里,出现频率排进前三。不是模型调不好,不是代码写不对,而是卡在…

2026/10/2 0:00:20 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/10/1 19:40:48 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/10/1 19:41:40 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/10/1 20:05:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 10:36:31 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 5:26:06 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 6:09:11 阅读更多 →