Oi, Edson! Tudo bem?
O que acontece é que no seu loop for
você está chamando o replace()
toda vez na variável secretWord
, e definindo que a cópia vai sempre ser o retorno desse replace()
. O problema é que o replace()
não muda a string no local, mas retorna outra string. Vamos simular isso passo a passo pra ficar mais claro:
No primeiro loop:
secretWord == apple
secretWord_copy == _pple
Segundo loop:
secretWord == apple
secretWord_copy == a_ple
Porque a cópia sempre vai se basear na secretWord
, entende?
Existem algumas formas que podem simplificar bastante o código e não trazer esse problema. Um exemplo é simplesmente ter uma string com '_ '
multiplicado pelo comprimento da secretWord
:
secretWord_copy = '_ ' * len(secretWord)
print(secretWord_copy)
E o resultado:
_ _ _ _ _
O que acha?
Abraços e bons estudos!