1
resposta

[Projeto] Jogo de Adivinhar número

import os
import random


def computer_choice():
    num = random.choice(range(1,101))
    return num

os.system('cls')
computer_num = computer_choice()
print(computer_num)

while True:
    try:
        num_user = int(input('Tente adivinhar o número (1-100):'))

        if not num_user in range(1,101):
            print('Número fora do intervalo (1-100)!')      
        else:
            while num_user != computer_num:
                if num_user > computer_num:
                    num_user = int(input(f'Muito alto! Tente novamente:'))
                else:
                    num_user = int(input(f'Muito baixo! Tente novamente:'))

            print(f'Parabéns! Você acertou o número {computer_num}!')
            break
    except ValueError:
        print('Digite somente números inteiros de 1 a 100!')
1 resposta

Oii Kelvin, tudo bem?

Obrigado por compartilhar seu projeto no fórum! A lógica do jogo está bem estruturada: o uso do try/except para capturar entradas inválidas e os dois loops para controlar o fluxo ficaram funcionais.

Tenho apenas duas observações que podem deixar o código ainda mais robusto:

  1. Validação dentro do loop interno: quando o usuário erra o intervalo (ex.: digita 150) no loop mais externo, o programa avisa e aguarda. Mas, dentro do while num_user != computer_num, não há essa validação. Qualquer número fora do range passaria direto sem aviso. Vale considerar adicionar a verificação ali também.

  2. O print(computer_num) revela a resposta: provavelmente estava ali para testar, mas se deixado no código final o jogo perde a graça.

Conte com a Alura para evoluir seus estudos. Em caso de dúvidas, fico à disposição.

Bons estudos!

Sucesso

Imagem da comunidade