2
respostas

[Dúvida] Meu código está dando erro

Ao executar o código, no console aparece três mensagens que não estou conseguindo descobrir como resolver. O meu código está assim:

import random

def jogar():

    print("********************************")
    print("***Bem vindo ao jogo da 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_secreta = palavras[numero].upper()

    letras_acertadas = ["_" for letra in palavra_secreta]
    enforcou = False
    acertou = False
    erros = 0

    while (not enforcou and not acertou):

        chute = input("Escolha uma letra: ")
        chute = chute.strip().upper()

        if(chute in palavra_secreta):
            index = 0
            for letra in palavra_secreta:
                if(chute == letra):
                    letras_acertadas[index] = letra
                index += 1    
        else:
            erros += 1
            print("Ops, você errou! Faltam {} tentativas.".format(6-erros))

        enforcou = erros == 6
        acertou = "_" not in letras_acertadas
        print(letras_acertadas)

        if(acertou):
            print("Você ganhou!!")
        else:
            print("Você perdeu!!")

            print(letras_acertadas)

    print("Fim de jogo")

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

O erro que está aparecendo é esse: erro do código

2 respostas

Oi, Kelyson

Erro: "empty range for randrange()" - Isso está informando que seu "range" está vazio

Não tem nada em "palavras" e len(palavras) retorna zero

Verifique primeiro o problema de não carregar as palavras do arquivo

Bom dia! Descobri qual era o erro, eu tinha que informar o caminho completo de onde estava a lista de palavras pro python ler o arquivo. Agora o programa está funcionando. Muito obrigado!