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

Hangman游戏异常:used_letters更新后current_word未更新且word_letters未移除输入字母?

Hangman游戏异常原因及修复

问题根源:大小写不匹配

代码里存在明显的大小写不一致问题:

  • 随机选取的单词(比如aback)是小写,因此word_letters集合里的字母全是小写。
  • 用户输入的字母被强制转成大写(通过.upper()),导致两个核心逻辑失效:
    • 生成current_word时,原单词的小写字母永远不在存着大写字母的used_letters集合里,所以一直显示下划线。
    • 判断输入字母是否在目标单词集合时,大写字母无法匹配小写的word_letters,自然不会执行移除操作。

修复方案

任选一种方式统一大小写即可:

方式1:将用户输入转为小写

修改两处代码:

# 把字母表改成小写集合
alphabet = set(string.ascii_lowercase)
# 用户输入转小写
userinput = input("guess a letter : ").lower()

方式2:将目标单词转为大写

修改随机单词的生成逻辑:

random_word = random.choice(words).upper()

这样word_letters集合会自动变成大写,和用户输入的格式保持一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 14:05:20