1
resposta

Na aula 4 exercício 01 O laço com while

Segue o jogo “adivinhacao4”. Com uso do while: print("") print("Bem vindo ao jogo de Adivinhação!") print("") numero_secreto = 45 total_de_tentativas = 3 rodada = 1 while (rodada <= total_de_tentativas): print("Tentativa", rodada, "de", total_de_tentativas) chute_str = input("Digite o seu número: ") print("Você digitou: ", chute_str) chute = int(chute_str)

acertou = chute == numero_secreto
maior = chute > numero_secreto
menor = chute < numero_secreto
rodada = rodada + 1

if (acertou):
    print("Você acertou!")
elif (maior):
    print("Você errou! O seu chute foi maior que o número secreto.")
elif (menor):
    print("Você errou! O seu chute foi menor que o número secreto.")

print("Fim do jogo!")

É necessário mais melhorias. Para o caso em que o nº seja adivinhado antes da 3ª tentativa. É necessário parar o loop.

1 resposta

Olá, Raimundo! Vejo que você está progredindo bem com o Python e com o uso de laços de repetição. Sua dúvida é muito pertinente e comum quando estamos lidando com laços de repetição.

Para resolver o problema que você mencionou, é necessário adicionar uma instrução de controle de fluxo que irá interromper o laço while quando o número for adivinhado corretamente. No Python, podemos usar a palavra-chave break para interromper um laço.

Aqui está como você pode modificar o seu código:

print("*********************************")
print("Bem vindo ao jogo de Adivinhação!")
print("*********************************")
numero_secreto = 45
total_de_tentativas = 3
rodada = 1
while (rodada <= total_de_tentativas):
    print("Tentativa", rodada, "de", total_de_tentativas)
    chute_str = input("Digite o seu número: ")
    print("Você digitou: ", chute_str)
    chute = int(chute_str)

    acertou = chute == numero_secreto
    maior = chute > numero_secreto
    menor = chute < numero_secreto
    rodada = rodada + 1

    if (acertou):
        print("Você acertou!")
        break
    elif (maior):
        print("Você errou! O seu chute foi maior que o número secreto.")
    elif (menor):
        print("Você errou! O seu chute foi menor que o número secreto.")
print("Fim do jogo!")

Nesse código, se o jogador acertar o número, o comando break será executado e o laço while será interrompido, terminando o jogo imediatamente.

Espero ter ajudado e bons estudos!