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

não sei o que fazer

esta dando erro e não sei mais o que fazer me ajudem

from random import randrange

def jogar():

    cabesalio()

    palavra_secreta = define_a_palavra_secreta()

    #variaveis


    letras_acertadas = ["_" for i in (palavra_secreta)]    
    enforcou         = False
    acertou          = False
    erros            = 6

    #teste logico

    while(not enforcou and not acertou):

        chute = chutes(erros)

        enforcou = venceu_ou_perdeu(enforcou, acertou, erros, letras_acertadas)
        acertou = venceu_ou_perdeu(enforcou, acertou, erros, letras_acertadas)

        erros = define_se_voce_acertou_ou_errou(letras_acertadas, palavra_secreta, chute,enforcou,acertou)


        mostra_se_voce_ganhou_ou_não(acertou, enforcou)

#area das funcoes


def cabesalio():
    print("\033[33m=\033[m"*30)
    print("\033[35mJogo da forca\033[m")
    print("\033[33m=\033[m"*30)

def define_a_palavra_secreta():

    arquivos = open("arquivo.txt", "r")
    palavras = []

    for linhas in arquivos:
        linhas = linhas.strip().lower()
        palavras.append(linhas)

    arquivos.close()
    print(palavras)

    numero_palavras = randrange(0,len(palavras))


    palavra_secreta  = palavras[numero_palavras]

    return(palavra_secreta)

def chutes(erros):
    print(f"você pode erra apenas {erros} vezes")
    chute   = str(input("digite um letra: ")).lower()
    chute   = chute.strip()

    return(chute)

def define_se_voce_acertou_ou_errou(letras_acertadas, palavra_secreta, chute,):

    if (chute in palavra_secreta):
        posisao = 0

        for letra in palavra_secreta:

            if (chute) == (letra):
                letras_acertadas[posisao] = letra 
            posisao += 1
            return(posisao)
    else:
        erros -= 1         
        return(erros)

def venceu_ou_perdeu(enforcou, acertou, erros, letras_acertadas):        
    enforcou = erros == 0

    acertou = "_" not in letras_acertadas


    return(acertou, enforcou)

def mostra_se_voce_ganhou_ou_não(acertou, enforcou):

    if(acertou):
        print("você ganhou!")
    if(enforcou):
        print("você perdeu!")



if(__name__ == "__main__"):
    jogar()
2 respostas

Qual erro está dando Filipe?

solução!

Consegui arrumar estava dando erro nos parametros