El control de la computación 3 día17, 23-feb-15 SPAN 4350 Cultura computacional en español Harry Howard Tulane University
Organización del curso 23-feb-2015CultCompES, Prof. Howard, Tulane University 2 Computación cultural 2. Python 3. Cadenas 4. Unicode 5. Exreg 6. Archivos 7. Listas 8. Control
Repaso 23-feb CultCompES, Prof. Howard, Tulane University
La travesía de 'advertencia' 23-feb-2015CultCompES, Prof. Howard, Tulane University 4 ¡Ojo! print letra inicio fin
23-feb-2015CultCompES, Prof. Howard, Tulane University 5 La comprensión de lista en la teoría de conjuntos Teoría de los conjuntos: {e | e ∈ F & P(e)} "The set of e's such that e is an element of F and P of e (e has the property P)." "El conjunto de e's tal que e es un elemento de F y e tiene la propiedad P." En Python: [e for e in F if p(e)] [e for e in fuente if condición]
En Unicode 1. advertencia = '¡Ojo!'.decode('utf8') Encuentra las palabras de "fruta" que tienen 's'. 1. >>> fruta = ['pera', 'limón', 'sandía', 'chirimoya', 'naranja'] 2. >>> for p in fruta: if 's' in p.decode('utf8'): print p, sandía 7. >>> [p for p in fruta if 's' in p.decode('utf8')] 8. ['sand\xc3\xada'] 9. >>> [p.decode('utf8') for p in fruta if 's' in p] 10. [u'sand\xeda'] 23-feb-2015CultCompES, Prof. Howard, Tulane University 6
23-feb-2015CultCompES, Prof. Howard, Tulane University 7 Operadores de relación <menos de <=inferior o igual a ==igual a (es de dos "=", no uno) !=no es igual a >mayor a >=mayor o igual a
23-feb-2015CultCompES, Prof. Howard, Tulane University 8 Resumen de funciones (pruebas) de cadenas t in c ¿t está en c? c.islower() ¿los caracteres de c están en minúscula? c.isupper() ¿los caracteres de c están en mayúscula? c.isalpha() ¿los caracteres de c son alfabéticos? c.isalnum() ¿los caracteres de c son alfanuméricos? c.isdigit() ¿los caracteres de c son números? c.istitle() ¿c tiene una mayúscula inicial y las demás minúsculas? c.startswith('t') ¿c se inicia con t? c.endswith('t') ¿c termina con t?
23-feb-2015CultCompES, Prof. Howard, Tulane University 9 Resumen de condiciones complejas Si c es una condición, not c es también una condición. Si hay dos condiciones c 1 y c 2, c 1 and c 2, c 1 or c 2 son también condiciones.
Práctica Pon en una lista alfabetizada las palabras de La gitanilla que … 1. terminan en azo. 2. que empiezan con en o em. 3. que empiezan con en o em y que tienen más de 2 letras (para excluir 'en'). 4. tienen 8 o más letras. 5. tienen más de 5 letras pero menos de que son formas de salir pero no de saltar (cf. Prueba P3.2). 7. terminan con ón pero no con ión (ó = u’\xf3). 8. tienen un subrayado (al principio o final). 9. tienen un carácter no alfanumérico. 23-feb-2015CultCompES, Prof. Howard, Tulane University 10
§8 El control de la computación 23-feb CultCompES, Prof. Howard, Tulane University
Una de expresiones regulares Encuentra las palabras de "fruta" que tienen cuatro letras y terminan con 'a', con search(expresión regular, fuente, UNICODE). 1. >>> from re import search, UNICODE 2. >>> for p in fruta: 3....if search(r'^\w{3}a$', p.decode('utf8'), UNICODE): 4....print p, >>> pera 7. >>> [p for p in fruta if search(r'^\w{3}a$', p.decode('utf8'), UNICODE)] 8. >>> ['pera'] 23-feb-2015CultCompES, Prof. Howard, Tulane University 12
23-feb-2015CultCompES, Prof. Howard, Tulane University 13 Condiciones encadenadas 1. >>> cadena = '¡Ojo!'.decode('utf8') 2. >>> for c in cadena: if c.islower(): print c, 'es una letra en minúscula' elif c.isupper(): print c, 'es una letra en mayúscula' else: print c, 'no es una letra' ¡ no es una letra 11. O es una letra en mayúscula 12. j es una letra en minúscula 13. o es una letra en minúscula 14. ! no es una letra
23-feb-2015CultCompES, Prof. Howard, Tulane University 14 Como agregar a una lista en una travesía 1. >>> cadena = '¡Ojo!'.decode('utf8') 2. >>> min=[]; may=[]; nin=[] 3. >>> for c in cadena: if c.islower(): min.append(c) elif c.isupper(): may.append(c) else: nin.append(c) >>> min; may; nin 12. ['j', 'o'] 13. ['O'] 14. [u'\xa1', '!']
Scripts El próximo día 23-feb-2015CultCompES, Prof. Howard, Tulane University 15