<p>这里是一个通用的模板为一个刽子手游戏。创建一个<code>board</code>,即<code>word</code>的<code>len</code>。如果我们的<code>guess</code>在<code>word</code>,我们将替换这个<code>board</code>的索引。我们还可以创建一个列表<code>guessed</code>来附加所有猜测,以便跟踪是否已经尝试了一个条目</p>
<p>从这里我们可以建立一个<code>while</code>循环,一旦我们的<code>board == word</code>出现,这个循环就会中断。从user获取<code>guess</code>,然后检查它是否已经被使用过。如果不是,那么我们使用列表理解来检索索引,评估<code>guess</code>是否在<code>word</code>中。如果找到任何索引,我们将<code>board</code>转换为list,然后替换它们,然后<code>.join()</code>返回到一个字符串,否则我们可以打印<code>guess not in word</code></p>
<p>在继续下一个循环之前,我们可以将<code>guess</code>附加到<code>guessed</code>列表,并打印最新的<code>board</code></p>
<pre><code>word = 'headphones'
board = '_' * len(word)
guessed = []
while board != word:
guess = input('Enter letter: ')
if guess in guessed:
print(f'{guess} has already been used!')
else:
lst = [i for i, v in enumerate(word) if v == guess]
board = list(board)
if lst:
for i in lst:
board[i] = guess
else:
print(f'{guess} was not in the word.')
guessed.append(guess)
board = ''.join(board)
print(board)
print('Congratulations, the word was {word}!')
</code></pre>