el control de la computación 3 día17, 23-feb-15 span 4350 cultura computacional en español harry...

15
El control de la computación 3 día17, 23-feb-15 SPAN 4350 Cultura computacional en español Harry Howard Tulane University

Upload: graciana-canizares

Post on 23-Jan-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: El control de la computación 3 día17, 23-feb-15 SPAN 4350 Cultura computacional en español Harry Howard Tulane University

El control de la computación 3día17, 23-feb-15SPAN 4350

Cultura computacional en español

Harry Howard

Tulane University

Page 2: 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

http://www.tulane.edu/~howard/Span4350/ http://www.tulane.edu/~howard/

CompCultES/1. Computación cultural2. Python 3. Cadenas4. Unicode 5. Exreg 6. Archivos 7. Listas8. Control

Page 3: El control de la computación 3 día17, 23-feb-15 SPAN 4350 Cultura computacional en español Harry Howard Tulane University

Repaso

23-feb-2015

3

CultCompES, Prof. Howard, Tulane University

Page 4: El control de la computación 3 día17, 23-feb-15 SPAN 4350 Cultura computacional en español Harry Howard Tulane University

La travesía de 'advertencia'

23-feb-2015CultCompES, Prof. Howard, Tulane University

4

¡ O j o !

print letra

print letra

print letraprint letra

print letra

inicio

fin

Page 5: El control de la computación 3 día17, 23-feb-15 SPAN 4350 Cultura computacional en español Harry Howard Tulane University

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]

Page 6: El control de la computación 3 día17, 23-feb-15 SPAN 4350 Cultura computacional en español Harry Howard Tulane University

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:3. ... if 's' in p.decode('utf8'):4. ... print p,5. ... 6. sandía7. >>> [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

Page 7: El control de la computación 3 día17, 23-feb-15 SPAN 4350 Cultura computacional en español Harry Howard Tulane University

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

Page 8: El control de la computación 3 día17, 23-feb-15 SPAN 4350 Cultura computacional en español Harry Howard Tulane University

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?

Page 9: El control de la computación 3 día17, 23-feb-15 SPAN 4350 Cultura computacional en español Harry Howard Tulane University

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 c1 y c2,

c1 and c2, c1 or c2

son también condiciones.

Page 10: El control de la computación 3 día17, 23-feb-15 SPAN 4350 Cultura computacional en español Harry Howard Tulane University

Prácticahttp://www.tulane.edu/~howard/CompCultES/control.html#further-practice

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 9.6. 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

Page 11: El control de la computación 3 día17, 23-feb-15 SPAN 4350 Cultura computacional en español Harry Howard Tulane University

§8 El control de la computación

23-feb-2015

11

CultCompES, Prof. Howard, Tulane University

Page 12: El control de la computación 3 día17, 23-feb-15 SPAN 4350 Cultura computacional en español Harry 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,

5. ...

6. >>> 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

Page 13: El control de la computación 3 día17, 23-feb-15 SPAN 4350 Cultura computacional en español Harry Howard Tulane University

23-feb-2015CultCompES, Prof. Howard, Tulane University

13

Condiciones encadenadas

1. >>> cadena = '¡Ojo!'.decode('utf8')2. >>> for c in cadena:3. ... if c.islower():4. ... print c, 'es una letra en minúscula'5. ... elif c.isupper():6. ... print c, 'es una letra en mayúscula'7. ... else:8. ... print c, 'no es una letra'9. ...10. ¡ no es una letra11. O es una letra en mayúscula12. j es una letra en minúscula13. o es una letra en minúscula14. ! no es una letra

Page 14: El control de la computación 3 día17, 23-feb-15 SPAN 4350 Cultura computacional en español Harry Howard Tulane University

23-feb-2015CultCompES, Prof. Howard, Tulane University

14

Como agregar a una lista en una travesía1. >>> cadena = '¡Ojo!'.decode('utf8')2. >>> min=[]; may=[]; nin=[]3. >>> for c in cadena:4. ... if c.islower():5. ... min.append(c)6. ... elif c.isupper():7. ... may.append(c)8. ... else:9. ... nin.append(c)10. ... 11. >>> min; may; nin12. ['j', 'o']13. ['O']14. [u'\xa1', '!']

Page 15: El control de la computación 3 día17, 23-feb-15 SPAN 4350 Cultura computacional en español Harry Howard Tulane University

Scripts

El próximo día

23-feb-2015CultCompES, Prof. Howard, Tulane University

15