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

[Dúvida] Erro ao definir palavra secreta

Estou tendo problemas para definir a palavra secreta.

def escolher_palavra_secreta():
    lista = []

    with open("Lista_de_Palavras.txt") as palavras:
        for palavra in palavras:
            palavra = palavra.strip().upper()
            lista.append(palavra)

    escolhe_palavra = random.randrange(0, len(lista))
    palavra_secreta = lista[escolhe_palavra]
    return palavra_secreta

Quando executo o código, ele retorna o seguinte erro:

  File "C:\Python311\Lib\random.py", line 345, in randrange
    raise ValueError("empty range for randrange() (%d, %d, %d)" % (istart, istop, width))
ValueError: empty range for randrange() (0, 0, 0)
2 respostas
solução!

Oi, Victor

A "lista" está vazia

Não está carregando as "palavras" na "lista"

Verifique se está tudo correto com "Lista_de_Palavras.txt"

Grande Victor. Tudo certo?

Experimenta fazer assim:

from random import randint

def escolher_palavra_secreta():
    with open("Palavras.txt", "r") as plv:
        lin = [x.strip( ).upper( ) for x in plv]
        esc = lin[randint(0, len(lin)) - 1]
        plv.close( )
        
    return esc

Espero que ajude.

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