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()