Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

um '_' a mais

acho que meu codigo esta igual ao do instrutor porem acontece o seguinte problema: vamos supor que a palavra e bolo, em vez de aparecer _ _ _ _ aparece _ _ _ _ _

import random
def jogar():
    print("***************************")
    print("Bem vindo ao jogo de Forca!")
    print("***************************")

    arquivo = open("palavras.txt", "r")
    palavras = []
    for linha in arquivo:
        lihna = linha.strip()
        palavras.append(linha)
    arquivo.close()
    numero = random.randrange(0, len(palavras))
    palavra = palavras[numero]
    acertos = ["_" for letra in palavra]
    enforcou = False
    acertou = False
    erros = 0
    print(acertos)


    while(not enforcou and not acertou):
        chute = input("Escolha uma letra: ")
        chute = chute.strip().lower()
        index = 0
        if (chute in palavra):
            for letra in palavra:
                if(chute == letra):
                    acertos[index] = letra
                index += 1
        else:
            erros += 1
        enforcou = erros == 6
        acertou = "_" not in acertos
        print(acertos)
    if(acertou):
        print("Você venceu! a palavra era {}!".format(palavra))
    elif(enforcou):
        print("Você perdeu! a palavra era {}!".format(palavra))
if __name__ == "__main__":
 jogar()
2 respostas
solução!

Kaio, debuguei o código pra ti:

import random
def jogar():
    print("***************************")
    print("Bem vindo ao jogo de Forca!")
    print("***************************")

    arquivo = open("palavras.txt", "r")
    palavras = []
    for linha in arquivo:
        linha = linha.strip()
        palavras.append(linha)
    arquivo.close()
    numero = random.randrange(0, len(palavras))
    palavra = palavras[numero]
    acertos = ["_" for letra in palavra]
    enforcou = False
    acertou = False
    erros = 0
    print(acertos)


    while(not enforcou and not acertou):
        chute = input("Escolha uma letra: ")
        chute = chute.strip().lower()
        index = 0
        if (chute in palavra):
            for letra in palavra:
                if(chute == letra):
                    acertos[index] = letra
                index += 1
        else:
            erros += 1
        enforcou = erros == 6
        acertou = "_" not in acertos
        print(acertos)
    if(acertou):
        print("Você venceu! a palavra era {}!".format(palavra))
    elif(enforcou):
        print("Você perdeu! a palavra era {}!".format(palavra))
if __name__ == "__main__":
 jogar()

muito obrigado!