1
resposta

Jogo de adivinhar o número

import random

def adivinha_numero():
    numero_sorteado = random.randint(1, 100)
    #print(numero_sorteado)

    tentativa = 0
    
    while True:
        try:
            palpite = int(input('Tente adivinhar o número (1-100): '))
        
            if not 1 <= palpite <= 100:
                raise ValueError('Número fora do intervalo! Digite um número entre 1 e 100.')

            tentativa += 1

            if palpite == numero_sorteado:
                print(f'Parabéns! Você acertou o número {numero_sorteado}.')
                break

            if tentativa == 5:
                print(f'Dica: O número esta entre {numero_sorteado - 10} e {numero_sorteado + 10}')
            elif tentativa == 10:
                print(f'Que pena! O número sorteado era {numero_sorteado}')
                break
            
            if palpite < numero_sorteado:
                print('Muito baixo! Tente novamente.')
            else:
                print('Muito alto! Tente novamente: ')
                
        except ValueError as e:
            print(f'Entrada inválida: {e}')
    print(f'Tentativas: {tentativa}')

adivinha_numero()
1 resposta

Oi! Como vai?

Seu jogo de adivinhação ficou muito interessante e bem estruturado. A lógica de dicas com base no número de tentativas está clara e ajuda a manter a interação divertida para quem joga.

Uma dica interessante para o futuro é utilizar a função enumerate() em casos onde você precisa contar iterações em loops. Veja este exemplo:


nomes = ['Ana', 'Bruno', 'Carlos']
for indice, nome in enumerate(nomes):
    print(f'{indice}: {nome}')

Esse código mostra o índice e o nome em uma lista. enumerate facilita o controle de índices em laços for.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!