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

Python Hangman游戏字符串部分遮罩异常问题求助

Hangman游戏Hint函数问题解决

问题根源

你用str.replace()生成提示字符串的逻辑有漏洞:这个方法会替换整个字符串中所有匹配目标子串的内容。
比如处理'java'时,word[3:]是'a',而原字符串里索引1的位置也是'a',所以replace会把这个中间的'a'也替换成'-',最终得到错误的'J-v-'。
之前处理'python'、'kotlin'时正常,只是因为这些单词的word[3:]子串在前面没有重复出现,属于巧合,不是可靠的实现方式。

正确实现方式

直接通过切片拼接的方式生成提示字符串,完全基于位置处理,不会出现匹配错误:

def hint(word: str) -> str:
    # 取前3个字符,后面补充对应数量的连字符(用max避免单词长度不足3时出现负数)
    return word[:3] + '-' * max(len(word) - 3, 0)

测试验证

  • 输入'java' → 返回'jav-',符合预期
  • 输入'python' → 返回'pyt---',正常工作
  • 输入'javascript' → 返回'jav-------',正确生成提示

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 19:41:01