Olá, Vinicius. Como vai?
Excelente código! Novamente você demonstra uma preocupação muito bacana com a experiência do usuário (UX) no terminal. Criar funções para limpar a tela (clear) adaptadas para diferentes sistemas operacionais (nt para Windows e o else para Linux/macOS) e para pausar a execução é uma prática muito profissional.
A lógica para verificar a paridade utilizando o operador de módulo % está totalmente correta. A expressão numero % 2 == 0 é a forma mais eficiente e padrão para descobrir se um número é par em Python, pois ela checa se o resto da divisão por 2 é igual a zero.
Para complementar o seu aprendizado e trazer novas perspectivas, separei algumas dicas de boas práticas e otimizações simples que podem deixar seu script ainda mais robusto:
1. Melhorando a validação da opção de continuar
No seu código atual, se o usuário digitar qualquer coisa diferente de "S" ou "s" (como "sim", "Sim" ou até uma letra errada sem querer), o programa fechará. Podemos melhorar a experiência do usuário aceitando variações ou criando uma validação interna para a resposta:
op = input("Deseja continuar? (S/N): ").strip().lower()
if op not in ['s', 'sim']:
print("Saindo do programa...")
break
2. Simplificando a estrutura do código
A lógica principal está ótima, mas podemos encapsular o fluxo principal dentro de uma função main(). Isso organiza o escopo do Python e evita que variáveis fiquem soltas no escopo global.
Veja como ficaria o código unindo essas boas práticas:
import os
def pausa():
input("\nPressione ENTER para continuar...")
def clear():
# Limpa a tela dependendo do sistema operacional
os.system("cls" if os.name == "nt" else "clear")
def verifica_paridade():
while True:
clear()
try:
numero = int(input("Digite um número inteiro: "))
except ValueError:
print("Entrada inválida! Por favor, digite apenas números inteiros.")
pausa()
continue
# Lógica de paridade
if numero % 2 == 0:
print(f"O número {numero} é PAR.")
else:
print(f"O número {numero} é ÍMPAR.")
# Validação da saída
opcao = input("\nContinuar? (S/N): ").strip().lower()
if opcao not in ['s', 'sim']:
print("Encerrando o programa. Até mais!")
break
if __name__ == "__main__":
verifica_paridade()
O que mudou aqui?
os.system(...) simplificado: Usamos uma estrutura condicional em uma única linha (operador ternário) para deixar a função clear() mais enxuta.- Uso do
.strip(): Essa função remove espaços em branco acidentais que o usuário possa digitar antes ou depois da letra "S". if __name__ == "__main__": Esta é uma convenção importante em Python. Ela garante que a função principal só seja executada se o arquivo for rodado diretamente, e não quando for importado por outro script.
Parabéns pelo capricho no projeto do terminal. Continue praticando!
Espero que possa ter lhe ajudado!