As funções jogar () e random.randrange(), não estão funcionando corretamente conforme o bug apresentado abaixo;
 
  
As funções jogar () e random.randrange(), não estão funcionando corretamente conforme o bug apresentado abaixo;
 
  
Posta a função
Esse erro pode ocorrer se a variável palavras estiver vazia, ou seja, sem nenhum elemento. Verifique se você definiu corretamente a lista palavras antes de tentar gerar um número aleatório com base no seu comprimento. Se a lista estiver vazia, você precisará adicionar elementos a ela antes de gerar um número aleatório com base em seu comprimento.
import random
def jogar():
print("*********************************")
print("Bem vindo ao jogo de Adivinhação!")
print("*********************************")
numero_secreto = random.randrange(1,101)
total_de_tentativas = 0
pontos = 1000
print("Qual nível de dificuldade?")
print("(1) Fácil (2) Médio (3) Difícil")
nivel = int(input("Defina o nível: "))
if(nivel == 1):
    total_de_tentativas = 20
elif(nivel == 2):
    total_de_tentativas = 10
else:
    total_de_tentativas = 5
for rodada in range(1, total_de_tentativas + 1):
    print("Tentativa {} de {}".format(rodada, total_de_tentativas))
    chute_str = input("Digite um número entre 1 e 100: ")
    print("Você digitou " , chute_str)
    chute = int(chute_str)
    if(chute < 1 or chute > 100):
        print("Você deve digitar um número entre 1 e 100!")
        continue
    acertou = chute == numero_secreto
    maior   = chute > numero_secreto
    menor   = chute < numero_secreto
    if(acertou):
        print("Você acertou e fez {} pontos!".format(pontos))
        break
    else:
        if(maior):
            print("Você errou! O seu chute foi maior do que o número secreto.")
        elif(menor):
            print("Você errou! O seu chute foi menor do que o número secreto.")
        pontos_perdidos = abs(numero_secreto - chute)
        pontos = pontos - pontos_perdidos
print("Fim do jogo")if(name == "main"): jogar()