ゲームハンマンのコードを書いています。私は、単語、現在のパターン、および文字を取得し、更新されたパターンを返します(文字が単語にあった場合)。ハングマンゲーム - 更新単語list.python
for example: update_word_pattern("apple", "_ _ _ l _", p)
will return: ("_ppl_")
私はコードを書くことを試みたが、私はエラーメッセージが表示されます。ここでは
" updated_pattern = pattern[:i] + letter[i] + pattern[i+1:]
IndexError: string index out of range"
は私のコードです:
def update_word_pattern(word, pattern, letter):
for i in range(len(pattern) - 1):
if letter in word:
updated_pattern = pattern[:i] + letter[i] + pattern[i+1:]
print(updated_pattern)
else:
print(updated_pattern)
update_word_pattern("apple", "_ _ _ _ _", "p")
私は本当にthis.Iうを解決する方法を知りませんいくつかの助けに感謝します。前もって感謝します!
'for'ループの中で'もし文字の場合: 'をテストするのはなぜですか?ループ内で 'letter'も' word'も変化しないので、毎回同じ結果が出ます。また、 'pattern'のスペースも考慮する必要があります。 'pattern'に' word'と同じ長さのリストを作成し、 'pattern = ['_'] * len(word)'のようにそれを印刷するときにスペースを追加する方が簡単です'print( '' .join(pattern))' –