单元七

第32课 猜词过程 playGame

playGame
任务场景:playGame
猜→更新→再猜
原理图:猜→更新→再猜

一、任务目标

实现完整猜测过程:输入字母、反馈对错、推进关卡直至猜中或失败。

二、核心概念讲清楚

对每次猜测,用 enumerate(word) 同时拿到下标 i 和字母 ch:猜中就把 board[i] 改成该字母。没有 enumerate 就很难知道「第几个位置」该翻开。

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

模拟 guessor 序列。

易错:不检查是否在单词中

正确:if guess in word

想一想:如何防止重复猜?

四、解题思路

任务:实现完整猜测过程:输入字母、反馈对错、推进关卡直至猜中或失败。 先想清楚:输入是什么、处理后得到什么、屏幕上应出现什么。

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

  1. 1明确任务「实现完整猜测过程:输入字母、反馈对错、推进关卡直至猜中或失败」:运行后你希望看到什么结果(文字、图形或计算结果)。
  2. 2用 print 把结果说出来,确认屏幕上出现预期内容。
  3. 3找出重复动作,用 for / range 写成循环,少抄几遍。
  4. 4写出判断条件:什么情况下走 A,什么情况下走 B。
  5. 5对照参考代码跑通后,只改一个参数,观察结果如何变化。

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

任务:猜词过程 playGame用 print 把结果说出来用 for 循环逐个处理用条件判断决定走哪条路跑通后只改一个参数看变化

五、语句功能讲解

下面只列出本课首次强调的语句/函数。先认清再对照参考代码。

语句作用本课用法
enumerate()同时得到下标和元素for i, ch in enumerate(word):定位该翻开哪一格。

六、知识点讲解

猜词游戏状态:用变量记录已猜字母、剩余次数与胜负;每步更新状态并给提示。

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

七、编程练习

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

猜词过程

参考代码(对照抄写到下方 Mixly)
word="cat"
board=list("_"*len(word))
guesses=["a","t","c"]
for g in guesses:
    for i,ch in enumerate(word):
        if ch==g:
            board[i]=g
    print("".join(board))
print("完成", "".join(board)==word)

八、课堂练习

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

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

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

  3. playGame 核心循环?

  4. enumerate 帮助?

九、本节小结

猜词主循环完成;