1
resposta

Uma sugestão para que uma tentativa que não esteja entre 1 e 100 seja contabilizada

Vi um tópico perguntando como poderia fazer para que uma tentativa que não esteja entre 1 e 100 seja contabilizada e o sugerido foi trocar o laço for pelo laço while. Há também um jeito de fazer isso utilizando o laço for, que seria colocar um while no lugar do if ao checar se o chute atende os requisitos. Esse exemplo ficaria assim:

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)

    while (chute < 1 or chute > 100):                                # mudança feita aqui
        print("Você deve digitar um número entre 1 e 100!")
        chute = int(chute_str)                                        # mudança feita aqui

    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

Oi Cecilia, como vai?

Obrigada por compartilhar sua solução conosco, está correta sua abordagem. Com certeza ajudará outros alunos.

Qualquer dúvida não hesite em perguntar.

Abraços e bons estudos!

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