1
resposta

Dúvida na última tentativa

Bom dia! Digitei a 3ª tentativa com um número inválido no caso 0 e continua aparecendo a mensagem: "Você deve digitar um número entre 1 e 100!" mesmo após a última tentativa. Por ser a última tentativa, como eu faria para essa mensagem parar de aparecer e ficar só a mensagem de "Fim de jogo"?

Tentativa 3 de 3 Digite um número entre 1 e 100: 0 Você digitou 0 Você deve digitar um número entre 1 e 100! Fim do jogo

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

numero_secreto = 42
total_de_tentativas = 3

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: ")
    print("Você digitou ", chute_str)
    chute = int(chute_str)
    if (chute < 1 or chute > 100):
        print("Você deve digitar um número entre 1 e 100!")
        continue

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

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

print("Fim do jogo")
1 resposta

Olá, Paulo! Tudo bom?

Basta adicionar uma nova condição para o envio dessa mensagem.

No caso eu adicionei a condição que a rodada tem que ser menor que 3, ou seja, na ultima rodada ele não mostrará essa mensagem.

if (chute < 1 or chute > 100) and rodada < 3:
        print("Você deve digitar um número entre 1 e 100!")
        continue

Espero ter ajudado : )