python - 刽子手游戏(Python)
问题描述
我正在用 Python 制作一个简单的 Hangman 游戏。但是,我在以下代码中遇到了一些问题
newword=""
def update(word,guessword,ch):
for i in range(len(guessword)-1):
if ch==word[i]:
print(i)
if i==0:
newword=ch + guessword[1:]
else:
newword=guessword[0:i-1] + ch + guessword[i+1]
return newword
此更新函数在找到匹配项时调用,用于更新猜测词。这里的guessword 是一个字符串,每个不匹配的位置都包含“_”。字符串单词包含原始单词。ch 是在原始单词中找到的字母。
解决方案
- 使用
range(len(guessword)):
.-1
不需要,已经range
排除了上限。 - 最后使用
guessword[i+1:]
- 你忘记了:
. 否则它只是一个字符。
那应该可以修复您现有的代码。为了使它更好,我建议制作guessword
一个list
字符,以便您可以修改它,然后整个事情会变得简单得多。也使用enumerate
代替range
.
推荐阅读
- python - 如何从绘制在图像上的线中收集像素?
- sql - 如何在列的别名定义中有子查询(在 AS 语句中)
- abap - 下拉框中的值未刷新
- python - 检查由字符串注释的函数
- reactjs - react native如何使用Effect清理功能?
- gitlab-ci - Gitlab-CI 多项目流水线
- python - 在python中查找给定日期之前最接近的日期时间对象
- python - 我什么时候应该更喜欢 random.choice() 而不是 random.randint?
- finance - 我发送了一个 ISO 8583 请求,但交换机没有响应,
- node.js - 如何将 JSON 文件转换为 PO?