1
resposta

Exercício "Mãos na massa: Usando while"

Segue o código:

#Título
print("*********************************"'\n'
      "Bem vindo ao jogo de Adivinhação!"'\n'
      "*********************************"'\n')
#
#Número a ser advinhado:
numero_secreto = 42
#
#Número de tentativas e número inicial de tentativa:
max_tentativas = 5
tentativa = 1
#
#Criando o laço:
while (tentativa <= max_tentativas):
#
#Lendo o "chute" do usuário e mostrando que entendemos o chute:
    print ("Tentativa {} de {}".format(tentativa, max_tentativas))
    chute = int(input("Digite um número: "))
    print ('\n'"Você digitou {}".format(chute))
#
#Verificar se o usuário acertou ou se o chute foi maior ou menor:
    acerto = chute == numero_secreto
    maior = chute > numero_secreto
    menor = chute < numero_secreto
#
#Rotina para verificação do resultado
    if (acerto):
        print('\n'"Você acertou!!")
        print('\n'"Obrigado por participar!"
              '\n'"Fim de jogo!")
        exit()
    else:
        if (maior):
            print('\n'"Você errou!!"
                  '\n'"O seu chute foi maior que o número secreto"'\n')
        elif (menor):
            print('\n'"Você errou!!"
                  '\n'"O seu chute foi menor que o número secreto"'\n')
#
#Contador de tentativas
    tentativa = tentativa + 1
#
print('\n'"Obrigado por participar!"
      '\n'"Fim de jogo!")

Incomodou que mesmo acertando o jogo continuaria, o que não faz sentido. Então inclui o mesmo texto de finalização do jogo para o caso da pessoa acertar o número secreto e a função exit() logo depois, forçando o fim do jogo.

Senti falta de um "goto" no python3, que poderia ser usado para já pular para a mensagem final e encerrar o programa.

1 resposta

Olá Arthur, tudo bem?

Seu código ficou muito bom. No lugar de exit() você poderia colocar break, então assim que o número for acertado o loop é encerrado.

Espero ter ajudado, bons estudos!