La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

El control de la computación 2 día16, 20-feb-15 SPAN 4350 Cultura computacional en español Harry Howard Tulane University.

Presentaciones similares


Presentación del tema: "El control de la computación 2 día16, 20-feb-15 SPAN 4350 Cultura computacional en español Harry Howard Tulane University."— Transcripción de la presentación:

1 El control de la computación 2 día16, 20-feb-15 SPAN 4350 Cultura computacional en español Harry Howard Tulane University

2 Organización del curso 20-feb-2015CultCompES, Prof. Howard, Tulane University 2  http://www.tulane.edu/~howard/Span4350/ http://www.tulane.edu/~howard/Span4350/  http://www.tulane.edu/~howard/CompCultES/ http://www.tulane.edu/~howard/CompCultES/ 1. Computación cultural 2. Python 3. Cadenas 4. Unicode 5. Exreg 6. Archivos 7. Listas 8. Control

3 Repaso 20-feb-2015 3 CultCompES, Prof. Howard, Tulane University

4 Operar sobre todos los elementos: travesía (traversal) o bucle (loop) 1. >>> advertencia = '¡Ojo!'.decode('utf8') 2. >>> for letra in advertencia: 3.... print letra 4.... 5. ¡ 6. O 7. j 8. o 9. ! 10. >>> for letra in advertencia: 11.... print letra 12. File " ", line 2 13. print letra 14. ^ 15. IndentationError: expected an indented block 20-feb-2015CultCompES, Prof. Howard, Tulane University 4 ¡Ojo con la sangría (indentation)!

5 Funciona con listas también 1. >>> from nltk.corpus import PlaintextCorpusReader 2. >>> texlector = PlaintextCorpusReader('', 'Gitanilla.txt', encoding='utf- 8') 3. >>> oracion = texlector.sents()[1] 4. >>> for palabra in oracion[:5]: 5.... print palabra 6.... 7. Parece 8. que 9. los 10. gitanos 11. y 20-feb-2015CultCompES, Prof. Howard, Tulane University 5

6 Práctica  Imprime el resultado de añadir el sufijo –ita a las palabras de la lista de frutas. 1. >>> fruta = ['pera', 'manzana', 'sandia', 'chirimoya', 'naranja'] 2. >>> for p in fruta: 3. …print p[:-1] + 'ita', 4. … 5. perita manzanita sandiita chirimoyita naranjita 20-feb-2015CultCompES, Prof. Howard, Tulane University 6

7 §8 El control de la computación 20-feb-2015 7 CultCompES, Prof. Howard, Tulane University

8 Crear una lista con los resultados  Si se imprime el resultado a la pantalla, no está disponible para un procesamiento posterior.  Por lo tanto, queremos recoger el resultado de una travesía en una lista.  Python tiene un modismo (idiom) para esta tarea, que se llama una comprensión de lista (list comprehension). 20-feb-2015CultCompES, Prof. Howard, Tulane University 8

9 20-feb-2015CultCompES, Prof. Howard, Tulane University 9 La comprensión de lista  Tiene la sintaxis de:  [f(e) for e in fuente] o [e.f for e in fuente]  donde f es una función que se aplica a cada elemento e de la fuente f.  Ejemplo: Recoge en una lista el largo las palabras de "fruta". 1. >>> [len(p) for p in fruta] 2. [4, 7, 6, 9, 7]  No se pueden hacer cadenas así, pero una lista de cadenas, sí.  Ejemplo: Recoge en una lista los caracteres en mayúscula de "advertencia". 1. >>> [c.upper() for c in advertencia] 2. [u'\xa1', u'O', u'J', u'O', u'!']

10 Operar sobre algunos elementos  El paso siguiente es operar sólo sobre algunos de los elementos.  Hay que agregar a la travesía una condición con "if": >>> for c in advertencia:... if c != 'o':... print c,... ¡ O j ! >>> [c for c in advertencia if c != 'o'] [u'\xa1', u'O', u'j', u'!'] 20-feb-2015CultCompES, Prof. Howard, Tulane University 10

11 Un ejemplo con una lista >>> for p in fruta:... if len(p) > 4:... print p,... manzana sandia chirimoya naranja >>> [p for p in fruta if len(p) > 4] ['manzana', 'sandia', 'chirimoya', 'naranja'] 20-feb-2015CultCompES, Prof. Howard, Tulane University 11

12 Las pruebas o funciones condicionales 20-feb-2015 12 CultCompES, Prof. Howard, Tulane University

13 20-feb-2015CultCompES, Prof. Howard, Tulane University 13 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

14 20-feb-2015CultCompES, Prof. Howard, Tulane University 14 Ejemplos 1. >>> 4 < 5 2. True 3. >>> len('ab') > len('a') 4. True 5. >>> 'ab' > 'a' 6. True 7. >>> 'a' == 'a' 8. True 9. >>> 'a' != 'a' 10. False 11. >>> 'abc' <= 'abc' 12. True

15 Funciones (pruebas) de cadenas >>> c = 'informatica' 1. >>> 'm' in c 2. True 3. >>> c.islower() 4. True 5. >>> c.isupper() 6. False 7. >>> c.isalpha() 8. True 9. >>> c.isalnum() 10. True 11. >>> c.isdigit() 12. False 13. >>> c.istitle() 14. False 15. >>> c.startswith('i') 16. True 17. >>> c.endswith('a') 18. True 20-feb-2015CultCompES, Prof. Howard, Tulane University 15

16 Más ejemplos >>> may = 'BOOM'; num = '0123'; mezcla = 'Ojo!' 1. >>> may.islower() 2. False 3. >>> may.istitle() 4. False 5. >>> num.isalpha() 6. False 7. >>> num.isalnum() 8. True 9. >>> num.isdigit() 10. True 11. >>> mezcla.islower() 12. False 13. >>> mezcla.isupper() 14. False 15. >>> mezcla.isalpha() 16. False 17. >>> mezcla.isalnum() 18. False 19. >>> mezcla.istitle() 20. True 20-feb-2015CultCompES, Prof. Howard, Tulane University 16

17 20-feb-2015CultCompES, Prof. Howard, Tulane University 17 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?

18 Condiciones complejas >>> c = 'informatica' 1. >>> not c.isupper() 2. True 3. >>> c.islower() and c.isalpha() 4. True 5. >>> c.islower() or c.isupper() 6. True 20-feb-2015CultCompES, Prof. Howard, Tulane University 18

19 20-feb-2015CultCompES, Prof. Howard, Tulane University 19 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.

20 Práctica  Encuentra las palabras de "fruta" que tienen 'y'. 1. >>> for p in fruta: 2.... if 'y' in p: 3.... print p, 4.... 5. chirimoya 6. >>> [p for p in fruta if 'y' in p] 7. ['chirimoya'] 20-feb-2015CultCompES, Prof. Howard, Tulane University 20

21 Otra  Encuentra las palabras de "fruta" que tienen 'y' o 'j'. 1. >>> for p in fruta: 2.... if 'y' in p or 'j' in p: 3.... print p, 4.... 5. chirimoya naranja 6. >>> [p for p in fruta if 'y' in p or 'j' in p] 7. ['chirimoya', 'naranja'] 20-feb-2015CultCompES, Prof. Howard, Tulane University 21

22 En Unicode  Encuentra las palabras de "fruta" que tienen 's'. 1. >>> fruta = ['pera', 'limón', 'sandía', 'chirimoya', 'naranja'] 2. >>> for p in fruta: 3.... if 's' in p.decode('utf8'): 4.... print p, 5.... 6. 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'] 20-feb-2015CultCompES, Prof. Howard, Tulane University 22

23 P4? Más control de la computación El próximo día 20-feb-2015CultCompES, Prof. Howard, Tulane University 23


Descargar ppt "El control de la computación 2 día16, 20-feb-15 SPAN 4350 Cultura computacional en español Harry Howard Tulane University."

Presentaciones similares


Anuncios Google