Programação Python (Parte 3) - Prof. MARCO VAZ

MarcoVaz
4,832 views

Open Source Your Knowledge, Become a Contributor

Technology knowledge has to be shared and made accessible for free. Join the movement.

Create Content

Exercitando

Qual dos caracteres abaixo, colocados numa expressão regex mapeia zero ou mais caracters?
O que faz a expressão regular: [a-z]?
Qual das expressões regulares abaixo, verifica e retorna todas as palavras da String: "aviao aviador aviacao"?
Qual das expressões regulares abaixo, verifica e retorna as strings "aviao ou barco" ou os dois?
O que faz a expressão regular:"\d{3}" ?
O que deve ser colocado após um determinado caracter para que retorne uma sequência de 1 até 3 desse caractere" ?
sentenca = 'nos nao estamos nas nuvens'
resultado = re.findall(r'\bn.s', sentenca)
print(resultado)
Dado o trecho de código acima, qual o resultado de sua execução?

Desafio

Dada a lista abaixo, crie 2 listas, sem repetições, contendo os nomes (lnomes) e os provedores (lprovedor). Ao final, imprima as listas.

enderecos = ['rjlowe@uct.ac.za' , 'josrodri@caret.cam.ac.uk', 'stephen.marquard@gmail.com', 'zqian@iupui.edu', 'gopal.ramasammycook@nakamura.uits.iupui.edu', 'david.horwitz@collab.sakaiproject.org', 'antranig@umich.edu' , 'dhorwitz@collab.sakaiproject.org', 'rjlowe@media.berkeley.edu', 'cwen@media.berkeley.edu', 'ray@gmail.com', 'louis@gmail.com', 'gsilver@media.berkeley.edu', 'josrodri@caret.cam.ac.uk', 'gopal.ramasammycook@nakamura.uits.iupui.edu']

Programacao Python
Solução
import re
enderecos = ['<rjlowe@uct.ac.za>' , '<josrodri@caret.cam.ac.uk>', '<stephen.marquard@gmail.com>', '<zqian@iupui.edu>', '<gopal.ramasammycook@nakamura.uits.iupui.edu>', '<david.horwitz@collab.sakaiproject.org>', '<antranig@umich.edu>'
, '<dhorwitz@collab.sakaiproject.org>', '<rjlowe@media.berkeley.edu>', '<cwen@media.berkeley.edu>', '<ray@gmail.com>', '<louis@gmail.com>',  '<gsilver@media.berkeley.edu>', '<josrodri@caret.cam.ac.uk>', '<gopal.ramasammycook@nakamura.uits.iupui.edu>']

lnomes = set()   #Cria um conjunto pois não tem elementos repetidos
lprovedor = set()
for x in enderecos:
    sem = str((x.strip('<')).strip('>')) #Retira o  <> e retorna a string do endereço de email
    quebra = sem.split('@')              # Quebra a string sem no @    
    print(sem)  
    lnomes.add(quebra[0])
    lprovedor.add(quebra[1])	

print(lnomes)
print(lprovedor)
Open Source Your Knowledge: become a Contributor and help others learn. Create New Content