Python实现Hangman游戏时姓名字符串空格误转下划线问题求助
Hangman游戏姓名空格显示问题修复方案
核心问题原因
你定位的问题位置是正确的,生成待猜词汇显示字符串的逻辑未对姓名中的空格做特殊处理,空格会被判定为「未猜中的字符」,统一替换为_ (下划线加空格),所以才会出现所有字母猜对后仍有多余下划线、空格的问题。
具体修改方案
找到hangman()函数中遍历待猜词汇生成显示字符串的代码段,新增空格的优先判断逻辑:空格无需用户猜测,直接保留显示即可。
修改前原代码
for character in word: if character in guessmade.lower() or character in guessmade.upper(): main = main + character else: main = main + "_" + " "
修改后代码
for character in word: # 姓名中的空格直接显示,不需要替换为下划线 if character == " ": main += " " # 统一转小写判断,兼容大小写输入 elif character.lower() in guessmade.lower(): main += character # 未猜中的字母替换为下划线加空格 else: main += "_ "
效果验证
修改后无需调整原有词汇存储格式,也不需要额外拆分字符串,待猜词汇Rupert Giles初始会显示为______ ______,所有字母猜对后会直接输出Rupert Giles,不会再有多余的下划线和空格。
内容的提问来源于stack exchange,提问作者wannabeathena
相关产品推荐
相关产品推荐

