列表重复元素替换问题:Hangman游戏重复字母无法全填充求助
解决Hangman游戏中重复字母无法全部填充的问题
你的问题根源在于使用了index()方法——这个方法只会返回目标字母第一次出现的索引,所以即使单词里有多个相同字母,也只会更新第一个匹配的位置。比如在WINDOW中,ANSWER.index('W')永远返回0,完全不会处理索引5的第二个W。
把代码改成遍历目标单词的所有字符和索引,逐个匹配更新即可解决:
# 遍历目标单词的每个索引与对应字符 for idx, char in enumerate(ANSWER): if char == GUESTWORD: BOARD[idx] = GUESTWORD print(BOARD)
效果说明
当目标单词是WINDOW、猜测字母为W时,执行这段代码后,BOARD会输出:
['W', 'I', 'N', 'D', 'O', 'W']
所有匹配的字母位置都会被正确填充,不会再遗漏重复字母。
内容的提问来源于stack exchange,提问作者Brosa Jan
相关产品推荐
相关产品推荐

