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

Nao encerra em 6 tentativas e também nao puxa palavra randomicamente.

Repete sempre a mesma palavra no jogo, e também nao respeita as 6 tentativas, o que eu errei?


from random import randint

def jogar_forca():
    imprime_mensagem_abertura()
    palavra_secreta = carrega_palavra_secreta()
    letras_acertadas = inicializa_letras_acertadas(palavra_secreta)

    enforcou = False
    acertou = False
    erros = 0

    # Enquanto True e True
    while not enforcou and not acertou:

        chute = pede_chute()

        if chute in palavra_secreta:
            marca_chute_correto(chute, letras_acertadas,palavra_secreta)
        else:
            erros = erros + 1
        enforcou = erros == 6
        acertou = "_" not in letras_acertadas
        print(letras_acertadas)

    if acertou:
        imprime_mensagem_vencedor()
    else:
        imprime_mensagem_perdedor()


# Funções


def imprime_mensagem_abertura():
    print("*************************************")
    print("*** Bem vindo ao meu jogo Forca! ****")
    print("*************************************")


def carrega_palavra_secreta():
    x = open("forca.txt", "r")
    lista = (x.readlines())
    escolhe_r = randint(1, len(lista))
    x.close()
    palavra_secreta = lista[escolhe_r].upper().strip()
    return palavra_secreta


def inicializa_letras_acertadas(palavra):
    lista = ["_" for letra in palavra]
    return lista

def pede_chute():
    chute = input("Qual letra?")
    chute = chute.strip().upper()
    return chute

def marca_chute_correto(chute, letras_acertadas,palavra_secreta):
    index = 0
    for letra in palavra_secreta:
        if chute.upper() == letra.upper():
            letras_acertadas[index] = letra
        index = index + 1

def imprime_mensagem_vencedor():
    print("Você ganhou!")

def imprime_mensagem_perdedor():
    print("Você perdeu!")

if __name__ == "__main__":
    jogar_forca()
1 resposta
solução!

Rodei de novo e increvelmente funcionou, será que estou executando o codigo errado? eu sai e entrei de novo, e deu certo..... =......

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software