Slide 1

Slide 1 text

Programación Ayudantía 7 Gonzalo Correa [email protected] @gonchimon 1 lunes 23 de enero de 12

Slide 2

Slide 2 text

Consultas? Listas? Tuplas? Objetos (in)mutables? Funciones y métodos? 2 lunes 23 de enero de 12

Slide 3

Slide 3 text

Primero veremos... 3 lunes 23 de enero de 12

Slide 4

Slide 4 text

Iterables... wait, what? 4 lunes 23 de enero de 12

Slide 5

Slide 5 text

Se puede iterar sobre ellos recuperando cada elemento! (a.k.a. usar FOR!) 5 lunes 23 de enero de 12

Slide 6

Slide 6 text

Strings, Listas, Tuplas, Conjuntos y Diccionarios son Iterables 6 lunes 23 de enero de 12

Slide 7

Slide 7 text

Métodos en objetos inmutables (!) 7 lunes 23 de enero de 12

Slide 8

Slide 8 text

Objeto inmutable no puede ser modificado! 8 lunes 23 de enero de 12

Slide 9

Slide 9 text

Diccionarios 9 lunes 23 de enero de 12

Slide 10

Slide 10 text

{ Llave : Valor } Inmutable (In)Mutable 10 lunes 23 de enero de 12

Slide 11

Slide 11 text

Son mutables! 11 lunes 23 de enero de 12

Slide 12

Slide 12 text

dict = { “key”: “value” } dict[“new_key”] = “new_value” 12 lunes 23 de enero de 12

Slide 13

Slide 13 text

Conjuntos 13 lunes 23 de enero de 12

Slide 14

Slide 14 text

{valor, valor, ...} Inmutable 14 lunes 23 de enero de 12

Slide 15

Slide 15 text

También son mutables! 15 lunes 23 de enero de 12

Slide 16

Slide 16 text

a = { 1, 2, 3 } a.add(4) a.add(‘element’) a.add((‘new’, ‘tuple’)) 16 lunes 23 de enero de 12

Slide 17

Slide 17 text

Ejercicios! 17 lunes 23 de enero de 12

Slide 18

Slide 18 text

Contar letras y palabras Escribir la función contar_X(string) que cuente cuantas veces se repiten un cierto elemento X en el string. Posibles elementos: letras, vocales, iniciales, palabras Ej: contar_vocales(‘aabbaeea’) contará cuantas ‘a’, ‘e’, ‘i’, ‘o’, ‘u’ hay en el string. El resultado sería { ‘a’: 4, ‘e’: 2 } 18 lunes 23 de enero de 12

Slide 19

Slide 19 text

Signo Zodiacal Crear un programa que permita saber el signo zodiacal de una persona en base a su fecha de nacimiento Para esto, es necesario crear una función determinar_signo(fecha) que retorne el signo zodiacal Para ello, usar el diccionario mostrado en la siguiente slide 19 lunes 23 de enero de 12

Slide 20

Slide 20 text

Signo Zodiacal signos = { 'aries': (( 3, 21), ( 4, 20)), 'tauro': (( 4, 21), ( 5, 21)), 'geminis': (( 5, 22), ( 6, 21)), 'cancer': (( 6, 22), ( 7, 23)), 'leo': (( 7, 24), ( 8, 23)), 'virgo': (( 8, 24), ( 9, 23)), 'libra': (( 9, 24), (10, 23)), 'escorpio': ((10, 24), (11, 22)), 'sagitario': ((11, 23), (12, 21)), 'capricornio': ((12, 22), ( 1, 20)), 'acuario': (( 1, 21), ( 2, 19)), 'piscis': (( 2, 20), ( 3, 20)) } 20 lunes 23 de enero de 12

Slide 21

Slide 21 text

Países visitados Haremos un programa en que distintas personas puedan ingresar su nombre y que países han visitado Una vez que hayan terminado de ingresar sus datos, y usando una función que llamaremos paises_en_comun(p1, p2) obtendremos la cantidad de países en común que las personas han visitado 21 lunes 23 de enero de 12

Slide 22

Slide 22 text

Países visitados Tips La lista de personas puede ser un diccionario, en que cada key es el nombre de la persona y los values sean conjuntos Para obtener que países tienen en común, usar operaciones de conjuntos (& para intersección y | para unión) 22 lunes 23 de enero de 12

Slide 23

Slide 23 text

Manos de Póker En un juego de póker, un jugador tiene 5 cartas en la mano, que pueden ser de cualquiera de las 4 pintas (Diamante, Trébol, Pica, Corazón) y cualquier número entre el 1 (As) hasta el 13 (Kayser) Crear funciones para comprobar las siguientes manos de póker 23 lunes 23 de enero de 12

Slide 24

Slide 24 text

Manos de Póker Full: 3 números iguales y 2 números iguales Color: Todos los colores iguales Escalera: Números consecutivos Escalera de color: Números consecutivos del mismo color 24 lunes 23 de enero de 12