1
resposta

Praticando Python : condicionais if, elif e else

Verificando a paridade de um número

try:
  n = int(input("Digite um número inteiro: "))
  if n % 2 == 0:
    print(f"{n} é um número par.")
  else:
    print(f"{n} é um número ímpar.")
except ValueError:
  print("Erro: Por favor, digite apenas número inteiros")
finally:
  print("Consulta concluida com sucesso!")
1 resposta

Olá, Esdras. Como vai?

Parabéns pela evolução no código! É muito bom ver que você foi além do básico e já incluiu o tratamento de exceções com o bloco try-except. Essa é uma excelente prática para evitar que o programa "quebre" caso o usuário digite uma letra ou um número decimal quando o sistema espera um inteiro.

A lógica da paridade utilizando o operador de módulo (%) é a forma mais eficiente de resolver esse problema. Para complementar o seu entendimento, vale reforçar o que acontece "por baixo dos panos": o operador % retorna o resto da divisão.

  • Se n % 2 == 0, significa que o número é divisível por 2 sem deixar resto, logo, ele é par.
  • Caso contrário, ele é ímpar.

Para agregar valor ao seu aprendizado, deixo algumas sugestões de boas práticas:

1. Mensagens de erro específicas:
No seu except ValueError, você tratou muito bem o erro de entrada. Uma dica de legibilidade é sempre manter essas mensagens claras para que o usuário saiba exatamente o que corrigiu.

2. O uso do Finally:
Você utilizou o finally corretamente. Lembre-se que este bloco será executado sempre, ocorrendo um erro ou não. Em projetos maiores, ele é muito usado para fechar conexões com bancos de dados ou arquivos, garantindo que o programa limpe os recursos utilizados.

3. Evoluindo o código (Dica de Pythonista):
Se você quiser deixar o código ainda mais robusto, pode colocar o input dentro de um laço de repetição while True, para que o programa continue pedindo o número até que o usuário digite um valor válido, em vez de apenas encerrar com a mensagem de erro.

while True:
    try:
        n = int(input("Digite um número inteiro: "))
        if n % 2 == 0:
            print(f"{n} é um número par.")
        else:
            print(f"{n} é um número ímpar.")
        break # Sai do laço se der tudo certo
    except ValueError:
        print("Erro: Entrada inválida. Tente novamente.")

Continue praticando, pois dominar o fluxo de controle e o tratamento de erros é o que diferencia um programador iniciante de um desenvolvedor preparado para o mercado!

Espero que possa ter lhe ajudado!