Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não consigo fazer com que os erros sejam contados de forma separada dos acertos, que que preciso que o codigo pare apos 6 acertos ou 6 erros!

palavra_secreta = "python"
acertou = False
enforcou = False
er = 0
ac = 0
while (not acertou and not enforcou):
    ps = 0
    chute = input("Qual letra? ")
    chute = chute.strip()
    for letra in palavra_secreta:
        if (chute.upper() == letra.upper()):
             print("ENCONTREI NA POSIÇÃO {} A LETRA {}".format(ps , chute ))
             ac = ac + 1
        elif(chute.upper()!= letra.upper()):
            er = er +1
        if (ac == 6):
            print("Parabens, voce acertou")
            acertou = True
        if (er == 6):
             print("TENTE NOVAMENTE ")
             enforcou = True
1 resposta
solução!

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!