1
resposta

[Sugestão] implementei uma melhoria basica no codigo

a esta etapa do curso, vi que caso o usuário digite algum outro numero quando for escolher a dificuldade, nao havia nenhuma condiçao que impediria isso, entao depois de bater muita cabeça kkkkk, eu consegui da uma melhorada...nada de mais.

obs.. acho bem interessante quando estamos aprendendo algo, é ter o interesse em melhorar aquilo da sua maneira, dessa forma voçe cria desafios pra vc mesmo ao longo do processo.

import random

print("*********************************")
print("Bem vindo ao jogo de Adivinhação!")
print("*********************************")

numero_secreto = random.randrange(1, 101)
total_de_tentativas = 0
pontos = 1000

print("Qual o nível de dificuldade?")
print("(1) Fácil (2) Médio (3) Difícil")

nivel = int(input("Defina o nível: "))

while(nivel > 3):

    print("opçao invalida, escolha o nivel de  dificuldade entre 1 e 3 ")
    print("Qual o nível de dificuldade?")
    print("(1) Fácil (2) Médio (3) Difícil")
    nivel = int(input("Defina o nível: "))
else:
    if (nivel == 1):
        total_de_tentativas = 20
    elif (nivel == 2):
        total_de_tentativas = 10
    elif (nivel == 3):
        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:
            pontos_perdidos = abs(numero_secreto - chute)
            pontos = pontos - pontos_perdidos
            if(maior):
                print("O seu chute foi maior que o número secreto")
                if (rodada == total_de_tentativas):
                    print("O número secreto era {}. Você fez {}".format(numero_secreto, pontos))

            elif(menor):
                print("Você errou! O seu chute foi menor do que o número secreto.")
                if (rodada == total_de_tentativas):
                    print("O número secreto era {}. Você fez {} pontos".format(numero_secreto, pontos))


    print("Fim do jogo")
1 resposta

Boa! uma verificação que também pode fazer é quanto a entrada do 0 e de números negativos! daí fica 10/10 e ah, o else depois do while não é mais necessário