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

[Bug] jogar () e random.randrange(0,len(palavras)) não funcionou

As funções jogar () e random.randrange(), não estão funcionando corretamente conforme o bug apresentado abaixo;

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

3 respostas

Posta a função

soluçã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()