Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Mão na massa: Usando for

print("Jogo de Adivinhação. ")
print("Você tem 5 tentativas. ")
print("Você deve digitar um número entre 1 e 100. ")
print("_____________________________. ")

#numero escolhido
numero = 27
tentativas = 1


for contador in range(1,tentativas+5):
    print('Tentativa {} de {}'.format(tentativas, 5))
    numero_dig = int(input('Digite um número: '))
    acertou = numero_dig == numero
    maior   = numero_dig > numero
    menor   = numero_dig < numero
    range_digitacao = (numero_dig < 0) or (numero_dig >100)
    
    if range_digitacao:
        break
    else:
        if acertou:
            print('Você acertou o número!')
            break
        else:
            if maior:
                print('O número digitado é maior.')
            elif menor:
                print('O número digitado é menor.')
        tentativas += 1

if acertou: 
    print(f'Você acertou na tentativa {tentativas}.')
else:
    if range_digitacao:
        print('Você digitou um número fora do range especificado (número entre 1 e 100).')
    else:
        print('Você excedeu ao número de 5 tentativas do jogo.')
1 resposta
solução!

Olá, Sildiscley! Parece que você está no caminho certo para implementar o jogo de adivinhação usando o laço for. No entanto, percebi que você está usando o comando break quando o número digitado está fora do intervalo de 1 a 100. Na verdade, o exercício sugere que você use o comando continue para isso. O comando continue irá interromper a iteração atual do loop e iniciar a próxima, enquanto o comando break irá interromper todo o loop.

Além disso, você precisa remover a linha tentativas += 1 no final do seu loop for, pois o incremento é automaticamente feito pelo laço for.

Aqui está um exemplo de como seu código pode ficar:

print("Jogo de Adivinhação. ")
print("Você tem 5 tentativas. ")
print("Você deve digitar um número entre 1 e 100. ")
print("_____________________________. ")

#numero escolhido
numero = 27
total_de_tentativas = 5

for tentativas in range(1, total_de_tentativas + 1):
    print('Tentativa {} de {}'.format(tentativas, total_de_tentativas))
    numero_dig = int(input('Digite um número: '))
    acertou = numero_dig == numero
    maior   = numero_dig > numero
    menor   = numero_dig < numero
    range_digitacao = (numero_dig < 1) or (numero_dig >100)
    
    if range_digitacao:
        print('Você digitou um número fora do range especificado (número entre 1 e 100).')
        continue
    else:
        if acertou:
            print('Você acertou o número!')
            break
        else:
            if maior:
                print('O número digitado é maior.')
            elif menor:
                print('O número digitado é menor.')

if acertou: 
    print(f'Você acertou na tentativa {tentativas}.')
else:
    print('Você excedeu ao número de 5 tentativas do jogo.')
  • Depois da uma olhadinha na "OPINIÃO DO INSTRUTOR" lá contém a resposta, você pode comparar com o seu.

Espero ter ajudado 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