Olá Laiza, o problema está no laço for
. O laço vai varrer toda a string palavra_secreta
. Portanto, por mais que o usuário acerte a primeira letra, o código vai entrar no elif
para todas as demais da palavra_secreta
e como a palavra python possui 6 letras, o número de erros vai incrementar 5 vezes.
Uma maneira é verificar primeiro se o chute está contido na palavra_secreta
:
if(chute in palavra_secreta):
Caso o chute pertença a palavra_secreta
, você faz o tratamento do acerto, caso contrário, você contabiliza o erro:
if(chute in palavra_secreta):
ps = 0
for letra in palavra_secreta:
if (chute.upper() == letra.upper()):
print("ENCONTREI NA POSIÇÃO {} A LETRA {}".format(ps , chute ))
ac = ac + 1
ps = ps + 1
else:
print("tente novamente ... ")
er = er + 1
E, por fim, imprime na tela as mensagens de acordo com o resultado:
if(chute in palavra_secreta):
ps = 0
for letra in palavra_secreta:
if (chute.upper() == letra.upper()):
print("ENCONTREI NA POSIÇÃO {} A LETRA {}".format(ps , chute ))
ac = ac + 1
ps = ps + 1
else:
print("Tente novamente ")
er = er + 1
if (ac == 6):
print("Parabens, voce acertou")
acertou = True
if (er == 6):
print("Que pena, você perdeu")
enforcou = True
Espero ter ajudado e bons estudos!