def obter_numeros() -> list[str]:
entrada = input('Digite os numeros separados por espaço: ')
return entrada.strip().split()
def validar_numeros(numeros: list[str]) -> list[int]:
numeros_verificados = []
for numero in numeros:
try:
valor = int(numero)
if valor < 0:
raise ValueError('Insira apenas números positivos. Tente novamente.')
numeros_verificados.append(valor)
except ValueError:
raise ValueError(f"Valor inválido: '{numero}'. Insira apenas inteiros positivos.")
return numeros_verificados
def verificar_numeros_pares(numero: int) -> bool:
return numero % 2 == 0
def exibir_numeros_pares(numeros: int) -> None:
numeros_pares = list(filter(verificar_numeros_pares, numeros))
print(f'Números pares: {numeros_pares}')
def main():
while True:
try:
numeros_str = obter_numeros()
numeros_int = validar_numeros(numeros_str)
exibir_numeros_pares(numeros_int)
break
except ValueError as erro:
print(f'Erro: {erro}')
print('Tente novamente.\n')
if __name__ == '__main__':
main()