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

Python开发hangman游戏如何将字符串所有字符替换为下划线生成占位符

错误原因

str.replace() 方法的第一个入参要求是单个明确的待替换子串,你传入的(string[i]) for i in range (0, len (string))是生成器表达式,完全不符合方法的参数格式要求,所以触发了对应的语法错误。

正确实现代码

你要实现「每个字符对应一个下划线,下划线之间用空格分隔」的效果,最简洁的写法如下:

target_word = 'luis'
# 遍历目标词每个字符生成对应下划线,用空格拼接所有下划线
hidden_word = ' '.join('_' for _ in target_word)
print(hidden_word)

运行后输出结果正好是你要的_ _ _ _。
如果不需要下划线之间的空格,直接把拼接用的分隔符改成空字符串即可:

hidden_word = ''.join('_' for _ in target_word)
# 输出为 ____
可选替代实现

如果你坚持要用replace实现也可以,需要循环遍历每个字符做替换,写法如下:

target_word = 'luis'
hidden_word = target_word
for char in target_word:
    hidden_word = hidden_word.replace(char, '_')
# 加空格的话额外执行一步:hidden_word = ' '.join(hidden_word)
print(hidden_word)

这种写法效率低于直接用join生成的方案,更推荐用前者。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 15:09:03