Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Alternativa ao while final

Consegui resolver de uma forma alternativa o problema do total de tentativas e contador de rodadas. O total de tentativas continuará na decrescente (total_de_tentativas = total_de_tentativas - 1) estabelecendo o limite para o fim do jogo em 3 rodadas e o contador de rodadas adicionará +1 a cada tentativa. O 'while' recebeu valor diferente do estabelecido pelo instrutor, mas o resultado final e funcional foi o mesmo.

Alguém foi por aí também?

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

numero_secreto = 42
total_de_tentativas = 3
rodada = 1

while(total_de_tentativas > 0):
    print("Tentativa", rodada, "de 3")
    chute_str = input("Digite o seu número: ")
    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, seu chute foi maior que o número secreto!")
        elif(menor):
            print("Você errou, seu chute foi menor que o número secreto!")

    total_de_tentativas = total_de_tentativas - 1
    rodada = rodada + 1
2 respostas
solução!

Olá Jerry,

Seu código está excelente. Gostaria apenas de dar uma sugestão. Se por um acaso a pessoa acertar o número na primeira rodada, o programa continua rodando, pedindo novos chutes. Você poderia colocar um break depois do if acertou. Assim quando a pessoa acerta a adivinhação termina o programa.

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

Maravilha, Henrique!!!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software