单元七

第34课 用字典统计猜中率

统计猜中率
任务场景:统计猜中率
遍历记录→计数→比率
原理图:遍历记录→计数→比率

一、任务目标

任务:用字典统计,不用 pandas。

二、核心概念讲清楚

wins/total;counts.get

三、跟着想一遍(小例子)

打印胜率百分比。

易错:以为必须 pandas 才能统计

正确:list+dict 足够入门统计

想一想:胜率如何用小数表示?

四、解题思路

任务:任务:用字典统计,不用 pandas。 先想清楚:输入是什么、处理后得到什么、屏幕上应出现什么。

本课主要用到:屏幕输出。

  1. 1明确任务「任务:用字典统计,不用 pandas。」:运行后你希望看到什么结果(文字、图形或计算结果)。
  2. 2用 print 把结果说出来,确认屏幕上出现预期内容。
  3. 3找出重复动作,用 for / range 写成循环,少抄几遍。
  4. 4写出判断条件:什么情况下走 A,什么情况下走 B。
  5. 5对照参考代码跑通后,只改一个参数,观察结果如何变化。

流程示意(可对照左侧文字)

任务:任务:用字典统…用print把结果说出来,…找出重复动作,用for/r…写出判断条件:什么情况下走…对照参考代码跑通后,只改一…

五、语句功能讲解

本课用到的 Mixly 图形块均已在前面的课讲过。请直接对照编程练习搭积木;若有遗忘,回到该积木首次出现的课页复习。

六、知识点讲解

字典用「键 → 值」保存对应关系,如商品名对应价格。用键查找,比两个平行列表更不容易对错行;先确认键是否存在再取值。

先弄清本课输入与输出,再进编程练习对照现象。

七、编程练习

在下方 Mixly 文本编程中载入、运行与检查(浏览器即可,不必本机安装 Python)。

统计胜率

参考代码(对照抄写到下方 Mixly)
records=[{"win":True},{"win":False},{"win":True},{"win":True}]
total=len(records)
wins=sum(1 for r in records if r["win"])
print("胜",wins,"/" ,total)
print("胜率",wins/total)
wrong=["r","r","x"]
c={}
for ch in wrong:
    c[ch]=c.get(ch,0)+1
print("错字母",c)

八、课堂练习

先完成两道正误判断,再做其余题目;选出后点「检查」。

  1. 判断:只抄参考代码,不看运行输出,也不改参数验证。

  2. 判断:先跑通,再对照「dict 统计猜中率」改一处输入/参数,确认输出按预期变化;答错小测时读讲解。

  3. 本课不用 pandas 是因为?

  4. 胜率可?

九、本节小结

藏词闯关闭环:玩法 + 记录 + 统计。全书七单元完。