2
respostas

[Dúvida] Finalizar caso acerte

Meu jogo continua a rodar mesmo após acerta o numero secreto, existe uma condição para finalizar o código, caso acerte o numero secrete mesmo antes de acabar as tentativas? Obrigado.

Segue o código:

print("**************************")
print("Bem vindo ao jogo de adivinhação")
print("**************************")

numero_secreto = 42
total_de_tentativas = 5
rodada = 1

while(rodada <= total_de_tentativas):
    print("Tentativa {} de {}".format(rodada, total_de_tentativas))
    chute_str = input("Digite seu numero: ")
    print("Você digitou ", chute_str)
    chute = int(chute_str)


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

    if(acertou):
        print("Você acertou!")
    else:
        if(maior):
            print("Você errou! O seu chute foi maior do que o numero secreto.")
        elif(menor):
            print("Você errou! O seu chute foi menor do que o numero secreto.")


    rodada = rodada + 1

print("Fim do jogo!")
2 respostas

Vc pode fazer:

if(acertou):
    print("Você acertou!")
    rodada = 5;
else:

Assim, quando ele testar novamente a condição do laço while(rodada <= total_de_tentativas), será false e ele irá interromper a execução do mesmo.

Olá, Gabriel. Tudo bem?

Para finalizar o jogo assim que o usuário acertar o número secreto, basta utilizar o comando break. Esse comando serve para interromper a execução de um laço de repetição.

Assim, o trecho de código que está escrito:

if(acertou):
        print("Você acertou!")

Deve ser reescrito adicionando o break após a mensagem, da seguinte maneira:

if(acertou):
        print("Você acertou!")
        break

Desse modo, você obterá o comportamento desejado para o seu código.

Espero ter ajudado. Qualquer outra dúvida me coloco a disposição.

Abraços. Bons estudos!

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