Вам нужно перебрать всю длину word
вместо только 6
букв:
for i in range (0, len(word)):
Не помещайте a
в список, чтобы получить желаемый формат:
a = ['_']*len(word)
print(a) # ['_','_','_','_','_','_']
В вашем цикле вы должны просто получить доступ к i
напрямую
if word[i] == letter:
a[i] = letter
Убедитесь, что игра окончена, соединив список букв в строку:
print(''.join(['h', 'i']) # 'hi'
if ''.join(a) == word:
Если они выиграли, break
из цикла while:
print("You won. ")
break
Для стиля добавьте пробел после приглашения на ввод:
letter = input('Enter a letter: ')
Кроме того, удалите переменную guesses
, если вы ее не используете. И не print(word)
(как только вы закончите отладку).
ПРИМЕЧАНИЕ. Предполагается, что word
- это строка, а не список строк. Я считаю, что это лучшая реализация.