You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python列表元素替换:猜字游戏(Hangman)中自动替换下划线为正确字母的实现问题

解决Hangman游戏中猜对字母自动替换对应下划线的问题

嘿,我完全懂你现在的困扰!你当前的代码只能固定修改display列表索引为2的位置,但其实只需要在遍历目标单词的时候同时跟踪每个字母的索引位置,就能轻松实现自动替换所有匹配的下划线啦。

核心思路:用enumerate()跟踪索引

Python的enumerate()函数可以帮你在遍历chosen_word时,同时获取每个字母的索引和对应的字母本身。这样当猜中的字母出现时,你就能直接用这个索引去修改display列表里对应的下划线位置。

修改后的代码片段

for index, letter in enumerate(chosen_word):
    if letter == guess:
        display[index] = letter
print(display)

简单解释一下

  • enumerate(chosen_word)会把chosen_word拆成一个个包含索引和字母的元组,比如如果chosen_word是"banana",遍历的时候会依次得到(0, 'b')、(1, 'a')、(2, 'n')……
  • 每次循环判断当前字母是否等于玩家的猜测guess,如果匹配,就把display列表中对应index位置的下划线替换成这个字母。
  • 这样不管目标字母在单词里出现多少次,所有对应的位置都会被正确替换,而不是只改固定的第3个元素啦!

举个小例子:如果chosen_word是"apple",初始display是["_", "_", "_", "_", "_"],当玩家猜"p"时,代码会找到索引1和2的位置,把display改成["_", "p", "p", "_", "_"],完全符合游戏逻辑~

内容的提问来源于stack exchange,提问作者ang3lmira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 18:17:38