1
resposta

Minha solução para o jogo é de criar um while para definir a escolha do jogador entre fácil, normal, ou difícil. Se não for nenhuma das opções, ele não aceita.

# Alterando o código substituindo o while por for criando novas interações e limitando as possibilidades do jogador adicionando um número aleatório e acrescentando o nível de dificuldades.
# Acrescentando a pontuação

import random

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

numero_secreto = round(random.randrange(1, 101))
total_de_tentativas = 3
rodada = 1
acertei_antes = False
saida = -1
escolha = False
pontos = 1000

while (escolha == False):
    dificuldade = input("Qual o seu nível de dificuldade?\nDigite fácil, normal, ou difícil: ")
    if (dificuldade == "fácil"):
        total_de_tentativas = 20
        escolha = True
    elif (dificuldade == "normal"):
        total_de_tentativas = 10
        escolha = True
    elif (dificuldade == "difícil"):
        total_de_tentativas = 5
        escolha = True
    else:
        print("Por favor, escolha uma dificuldade!")

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: ou digite 0 para enserrar o jogo: ")
    print("Você digitou " , chute_str)
    chute = int(chute_str)

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

    if (chute == 0):
        saida = 0
        break
    else:
            if (chute <=- 1) or (chute >= 101):
                print("Você deve digitar um número entre 1 e 100!")
                continue
            else:
                if(acertou):
                    print("Parabéns! Você acertou e fez {} pontos!".format(pontos))
                    acertei_antes = True                
                    break
                else:
                    if(maior):
                        print("O seu chute foi maior do que o número secreto!")
                    elif(menor):
                        print("O seu chute foi menor do que o número secreto!")
                    pontos_perdidos = abs(numero_secreto - chute)
                    pontos = pontos - pontos_perdidos

if (acertei_antes == True):
    print("Você tem muita sorte. Você acertou na rodada {} de {}".format(rodada, total_de_tentativas))
elif (saida == 0):
    print("Encerrando a partida. Obrigado por jogar!")
else:
    pontos = 0
    print("Ok, não foi dessa vez. Tente outra vez na próxima. Você fez: {} pontos.".format(pontos))

print("Fim do jogo")
1 resposta

Olá Douglas, tudo bem com você?

Meus parabéns pela implementação utilizando o while. Continue compartilhando com a comunidade do fórum Alura o seu desenvolvimento.

Use sempre o fórum.

Abraços e bons estudos.