Olá,
hoje seguimos para o exercício 2 em Python, desta vez para validação de email.
Exercício 2
#Escreva uma função que retorne True se uma string for um endereço de e-mail e False caso contrário.
Nota: Para efeitos deste exercício, considere que um endereço de e-mail:
- contém exactamente uma arroba (@);
- contém apenas letras minúsculas antes da arroba;
- contém apenas um ponto, e este está a seguir à arroba;
- não contém caracteres além de letras minúsculas, pontos e arrobas.
Resolução:
No início da função é criada uma lista de letras minúsculas, de “a” a “z”. Esta lista contém todos os elementos permitidos na string do email com excepção do símbolo do arroba (“@”) e do ponto (“.”).
Assim, criando outra lista com os elementos que estejam na string inicial e não estejam na lista de letras minúsculas criada no passo 1, obteremos este valor para um email correcto:
[‘@’,’.’]
Repare-se que no caso de existirem mais que um símbolo arroba, ou mais que um ponto, ou um ponto antes do arroba, ou outros símbolos e números, esta lista resultante será diferente.
Assim, garante-se que para o email seguir as regras implícitas no problema basta que a lista resultante da comparação seja de facto [‘@’,’.’].
O método utilizado em python para a criação da lista com letras minúsculas assim como para a lista resultante da comparação das duas listas é a “list comprehension”.
Na segunda parte da função verifica-se, portanto, que se a lista resultante for a descrita anteriormente a função deverá retornar True (email correcto), caso contrário retornará False.
Repare-se, por exemplo que se se tentar executar a função com o valor da string assim:
"joao.Ratao33 at carochinha.pt"
a função retornará False.
Até ao próximo exercício,
JG