Основная проблема в том, что вы забыли вызвать функцию lower
в одном месте:
ltrPos = [pos for pos, char in enumerate(gameWord) if char == Ltr.lower()]
Но это еще не все. Во-первых, вы можете упростить расчет от strCounter
до
strcounter = len(ltrPos)
Или просто отметьте if ltrPos:
вместо if strcounter != 0:
. Также вы можете использовать else
вместо elif
.
Следующая проблема - strOut[ltrPos[strcounter]]
. Здесь вы пытаетесь получить доступ к lrtPos[strcounter]
, что приведет к ошибке индекса при уменьшении strcounter
только один раз, вместо того, чтобы вернуть его в ноль. Вместо этого просто итерируйте индексы в ltrPos
напрямую:
for i in ltrPos:
strOut[i] = Ltr.upper()
Также обратите внимание, что вы добавляете букву в список used
, только если в слове это , а не .