Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porEufémia Requena Modificado hace 10 años
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
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.