2
respostas

Minha solução para o jogo

print("+++++++++++++++++++")
print("Bem vindo!!")
print("++++++++++++++++++++")
import random
numero_secreto = random.randint(0, 100)


total_tentativas = 0


rodada = 1


pontos_num = 1000
pontos = int(pontos_num)

print("Voce tem {} pontos!".format(pontos))
print('Qual nivel de dificuldade?')
print("(1)Facil (2)Medio (3)Dificil")

nivel = int(input('Escolha o nivel!'))


if (nivel == 1):
        total_tentativas = 4
else:
 if(nivel == 2):
         total_tentativas = 3
 elif (nivel == 3):
            total_tentativas = 2









for rodada in range(1, total_tentativas + 1):

    print("Tentativa {} de {}".format(rodada, total_tentativas))
    chute_num = input("Diga seu numero! :")
    print("Voce digitou", chute_num)
    chute = int(chute_num)



    if (chute > 100 or chute < 1):
        print("Voce precisa digitar um numero entre 1 e 100!")
        continue

    acertou = chute == numero_secreto
    maior = chute > numero_secreto
    menor = chute < numero_secreto
    errou = chute != numero_secreto



    if (acertou):
        print("Voce acertou!")
        print("Voce terminou com {} pontos!".format(pontos))
        break


    else:
        if (maior):
            print("Voce errou!", "o numero", chute_num, "foi maior que o numero secreto")
        elif (menor):
            print("Voce errou!", "o numero", chute_num, "foi menor que o numero secreto")

            if (errou):
                print("O numero secreto era {}".format(numero_secreto))
                numero_secreto = random.randint(0, 100)


                pontos = pontos - chute - numero_secreto
                print("Voce tem {} pontos!".format(pontos))

    rodada = rodada + 1
2 respostas

Olá Diego, tudo bem com você?

Meus parabéns pela implementação do código, fico feliz que tenha compartilhado com a comunidade do fórum Alura.

Sua implementação adicionando um novo número secreto a cada erro do usuário, foi uma ideia excelente, adicionando uma complexidade a mais para o jogo.

Gostaria de deixar uma recomendação sobre essa parte do código, do modo que esta, será sorteado um novo número secreto apenas quando o usuário informar um número menor do que o número sorteado inicialmente, caso queira e faça sentido, recomendo que mude a indentação (espaços) da estrutura condicional if (errou): e os códigos declarados nessa estrutura, de forma que esse laço fique fora da estrutura condicional elif (menor):.

Para isso basta selecionar os códigos presente na estrutura condicional if (errou): e seus códigos, pressionar shift + tab uma vez, o final do código ficará como apresentado abaixo:

    else:
        if (maior):
            print("Voce errou!", "o numero", chute_num,
                  "foi maior que o numero secreto")
        elif (menor):
            print("Voce errou!", "o numero", chute_num,
                  "foi menor que o numero secreto")

        if (errou):
            print("O numero secreto era {}".format(numero_secreto))
            numero_secreto = random.randint(0, 100)
            print(f'aqui novo numnero:{numero_secreto}')
            pontos = pontos - chute - numero_secreto
            print("Voce tem {} pontos!".format(pontos))

    rodada = rodada + 1

Note que temos um alinhamento das estruturas condicionais if (maior):, elif (menor): e if (errou):, dessa forma a estrutura condicional if (errou): será executada sempre que o usuário informar um número errado, seja ele maior ou menor que o número secreto.

Para aprimorar o seu aprendizado, gostaria de recomendar a leitura do seguinte artigo que irá abordar sobre a importância da indentação (espaços) no python.

O artigo está em inglês, caso tenha dificuldades com o idioma recomendo o uso do tradutor do navegador.

Lembre-se que pode contar sempre com o fórum Alura, seja para postar o seu desenvolvimento ou para tirar suas dúvidas.

Fico à disposição.

Abraços e bons estudos.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Boa tarde!

Parabéns, ficou muito bom o código