Olá! Fiz o curso todo escrevendo o código igual ao do professor em cada vídeo. Ao final do curso, abri um arquivo em branco e refiz todo o código utilizando apenas minhas anotações e minha lógica, afim de estudar mais e guardar todos os conceitos aprendidos. Nisso, percebi dois "bugs". Vou descrevê-los abaixo:
1 - (Vamos considerar que escolhemos a dificuldade 3 - Difícil) Ao errar as 5 tentativas, o último erro não afeta a contagem dos pontos. Apesar de não saber se isso foi proposital durante o curso, considerei que faria mais sentido levar em conta o último erro e descontar do total de pontos também;
2 - Assim como o primeiro, apesar de não saber se foi proposital, não achei justo contabilizar como tentativas possíveis "erros de digitação" colocando número < 1 ou > 100;
Adicionei então algumas linhas ao código e corrigi esses "bugs". Agora o últimos erro é contabilizado no total de pontos e o inputs < 1 e > 100 não descontam do total de tentativas. Adoraria saber o que acharam e se existe algum erro ou modo mais fácil de arrumar esses "bugs". Valeu! Segue o meu código:
import random
def jogar():
print("***************************************")
print("***Bem vindo ao jogo de Adivinhação!***")
print("***************************************")
print("Escolha a sua dificuldade!")
print("(1)Fácil (2)Médio (3)Difícil")
nivel = int(input("Dificuldade selecionada: "))
if(nivel == 1):
numero_tentativa = 20
elif(nivel == 2):
numero_tentativa = 10
elif(nivel == 3):
numero_tentativa = 5
numero_secreto = random.randrange(1, 101)
pontos = 1000
rodada = 1
print("***Tente adivinhar o número secreto!***")
while(rodada <= numero_tentativa):
chute = int(input("Digite um número entre 1 e 100: "))
if(chute < 1 or chute > 100):
print("Você deve escolher um número entre 1 e 100!")
rodada = 1
continue
print("Tentativa {} de {}".format(rodada, numero_tentativa))
print("Você digitou {}".format(chute))
if(chute == numero_secreto):
print("Você acertou!")
print("Você fez {} pontos".format(pontos))
break
elif(chute < numero_secreto):
print("Você errou! O número secreto é maior!")
if(numero_tentativa == rodada):
pontos_perdidos = abs(numero_secreto - chute)
pontos = pontos - pontos_perdidos
print("Você fez {} pontos".format(pontos))
elif(chute > numero_secreto):
print("Você errou! O número secreto é menor!")
if(numero_tentativa == rodada):
pontos_perdidos = abs(numero_secreto - chute)
pontos = pontos - pontos_perdidos
print("Você fez {} pontos".format(pontos))
pontos_perdidos = abs(numero_secreto - chute)
pontos = pontos - pontos_perdidos
rodada = rodada + 1
print("Fim do jogo!")
if(__name__ == "__main__"):
jogar()