Olá Lucas, tudo bem com você?
No seu código o print(letras_c)
está dentro do laço for letra in pal_sec:
isso faz com que a variável de letras secretas seja apresentada uma vez para cada letra da palavra secreta. Para fazer a correção, basta colocar o print(letras_c)
fora do laço for letra in pal_sec:
.
Local da correção
for letra in pal_sec:
if palpite.lower() == letra or palpite.upper() == letra:
letras_c[i] = letra
i += 1
print(letras_c)
A mudança foi realizada na última linha do código acima.
Código completo
print('---------------------------------')
print('---Bem vindo ao jogo da forca!---')
print('---------------------------------')
pal_sec = 'castelinho'
letras_c = ['_', '_', '_', '_', '_', '_', '_', '_', '_', '_', ]
lose = False
win = False
while (not lose and not win):
print('_ _ _ _ _ _ _ _ _ _')
print(' ')
palpite = input('Escolha uma letra ')
palpite = palpite.strip()
i = 0
for letra in pal_sec:
if palpite.lower() == letra or palpite.upper() == letra:
letras_c[i] = letra
i += 1
print(letras_c)
print('---------------------------------')
print('Fim de jogo')
print('---------------------------------')
Uma dica de boas práticas de programação é a padronização do idioma usado na criação das variáveis, no seu código temos o uso de dois idiomas; lose =
(inglês) e pal_sec =
(português), essa padronização irá trazer uma fluidez melhor na leitura do seu código, dê prioridade para o idioma que você tem um domínio maior e que irá apresentar uma facilidade de entendimento quando você for ler o código depois de um tempo.
Em caso de mais dúvidas encontro-me à disposição.
Abraços e bons estudos.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!