1
resposta

Minha solução : eu fiz algumas alterações no código.

# 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.

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

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 = 6
        escolha = True
    elif (dificuldade == "normal"):
        total_de_tentativas = 3
        escolha = True
    elif (dificuldade == "difícil"):
        total_de_tentativas = 1
        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 encerrar 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!")
                    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!")

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

print("Fim do jogo")
1 resposta

Olá Douglas, tudo bem com você?

No momento em que é perguntado para o usuário qual a dificuldade ele quer jogar, você pode implementar o uso de números no lugar de palavras, elas podem conter erros de grafia gerando erros no momento da escolha do usuário, segue parte do código com a possível implementação.


while (escolha == False):
    dificuldade = input("Qual o seu nível de dificuldade?\n 1 = fácil 2 = normal 3 = difícil: ")
    if (dificuldade == "1"):
        total_de_tentativas = 6
        escolha = True
    elif (dificuldade == "2"):
        total_de_tentativas = 3
        escolha = True
    elif (dificuldade == "3"):
        total_de_tentativas = 1
        escolha = True
    else:
        print("Por favor, escolha uma dificuldade!")

Abraços e bons estudos.