Presentation Lesson 02

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 33

Introducción a la Programación

con Python - Clase #2


Curso Propedéutico
Objetivo general
• Utilizar las estructuras repetitivas y de control, en conjunto con las estructuras de
datos, en la solución de problemas.
Contenido
• Identación

• Estructuras de control: If-elif-else

• Listas, tuplas y diccionarios

• Estructuras repetitivas (Bucles)

• Trabajo con cadenas de caracteres


Identación
• En el lenguaje formal escrito, identación es lo que comúnmente conocemos
como sangría.

• No todos los lenguajes de programación. necesitan de una identación. Se


implementa con el objetivo de otorgar mayor legibilidad al código fuente.

• En el caso de Python, la identación es obligatoria y de ella depende la estructura


del código.
Estructura de control: if-elif-else
if condici n1:

bloque c digo

elif condici n2:

bloque c digo

...

else:

bloque c digo





Actividad #1
• Escribir un programa que pida al usuario dos n meros y muestre por pantalla su
divisi n. Si el divisor es cero el programa debe mostrar un error.

• Escribir un programa que pida al usuario un n mero entero y muestre por


pantalla si es par o impar.

5 minutos



Listas
• Conjuntos ordenados de elementos, encerrados por
corchetes y separados por comas

• El orden comienza con el ndice 0 para el primer lugar de


la lista

• Para acceder a un elemento de la lista se usa el ndice del


elemento dentro de los corchetes


Listas: notación slice
• Podemos acceder una sub-lista a trav s de la notaci n
slice:

variable[inicio: n:incremento]
fi


Listas: rangos
• El tipo range es una lista inmutable de n meros enteros
en sucesi n aritm tica

• Los rangos se crean mediante:

• range( n)

• range(inicio, n, salto)

• Si se quisiera generar una lista a partir de un rango se


hace typecast con el tipo list:
fi

fi


Listas: funciones útiles
• len(s) Retorna el tama o (el n mero de elementos) de la
lista s

• min(s) Retorna el elemento m s peque o de la lista s

• sum(s) Retorna la suma de todos los n meros de la lista s

• max(s) Retorna el elemento m s grande de la lista s








Listas: funciones útiles
• append(x) A ade un elemento x al nal de la lista

• count(x) Retorna el n mero de veces que el elemento x aparece en la lista

• extend(lista) A ade todos los elementos de una lista a la lista actual

• index(x) Retorna el ndice de la primera aparici n de elemento x en la lista

• insert(indice, x) Inserta un elemento x en el ndice especi cado.

• pop(i) Retorna en la variable z el elemento de la lista de ndice i, y elimina


el elemento de la lista. El par metro i es opcional, si no se especi ca, z =
List.pop() remueve y retorna el ltimo elemento.

• reverse() Invierte el orden de los elementos de la lista

• remove(x) Remueve la primer aparici n del elemento x en la lista

• sort() Da orden ascendente a los elementos de la lista








fi




fi
fi
Actividad #2
Dada la siguiente lista anidada:

lista = [[['naranja', 'pera', 'manzana'], ‘limón', ‘pepino', ['habanero', 'jalapeño']], 'enchiladas', ‘pozole’]

Accede a los elementos mencionados.

1. pera

2. habanero

3. pozole

4. [lim n, pepino]

5. [habanero, jalapeño]

6. ltimo elemento de la colecci n de frutas

7. ltimo elemento de la colecci n de chiles

• Modi ca el elemento pepino por [calabaza, zanahoria]


5 minutos



fi


Tuplas
• Son objetos de tipo secuencia. Espec camente es un
tipo de lista inmutable. Esta no puede modi carse de
ning n modo despu s de su creaci n.

• Podemos usar Tuplas para empaquetar valores con


diferentes tipos de datos

• El uso de un gui n bajo (_) en el desempaquetado omite


la asignaci n del valor en una posici n dada







fi
fi
Diccionarios
• El diccionario, de ne una relaci n uno a uno entre clave y
valor

• Los diccionarios se crean colocando una lista separada


por coma de pares clave:valor entre llaves {}
fi

Diccionarios (continuación)
• Es posible iterar sobre objetos del tipo diccionario
usando 3 m todos auxiliares:

• items()

• keys()

• values()

• Para evitar errores, al tratar de acceder elementos


inexistentes en un diccionario, se debe veri car que el
elemento existe.

fi
Diccionarios: métodos útiles
• clear() Elimina todos los tems del diccionario dej ndolo
vac o

• pop(clave) Recibe como par metro una clave, elimina


esta y devuelve su valor. Si no lo encuentra, devuelve
error

• update(diccionario) Recibe como par metro otro


diccionario. Si se tienen claves iguales, actualiza el valor
de la clave repetida; si no hay claves iguales, este par
clave-valor es agregado al diccionario

• del diccionario[clave] Sirve para borrar un elemento del


diccionario





Actividad #3
Escribir un programa que cree un diccionario de traducci n espa ol-ingl s. Las
traducciones se guardarán de manera que la clave sea la palabra en español y su
valor la traducción al inglés:

Ej: diccionario = { ‘hola’: ‘hello’ }

El programa pedir al usuario una palabra en espa ol y utilizar el diccionario para


traducirla dicha palabra y mostrar el resultado al usuario.

Si la palabra no existe en el diccionario mostraremos un mensaje de que no


encontramos la traducción

5 minutos






Estructuras Repetitivas (bucles)
• Bucle condicional while

• Bucle iterativo for


Estructuras repetitivas: while
• Repite la ejecuci n del bloque de c digo mientras la
expresi n l gica condici n sea cierta

• Sintaxis:

while condici n:

bloque c digo







Estructuras repetitivas: FOR-in
• Repite la ejecuci n del bloque de c digo para cada
elemento de la secuencia, asignado dicho elemento a la
variable de iteración (i) en cada repetici n.

• Sintaxis:

for i in secuencia:

bloque c digo

• Se utiliza fundamentalmente para recorrer colecciones de


objetos como cadenas, listas, tuplas o diccionarios.




Estructuras repetitivas: características

• Se utilizan para repetir un bloque de código una


determinada cantidad de veces.

• Las estructuras repetitivas pueden anidarse dentro de


otras.

• La palabra reservada break detiene el bucle.

• La palabra reservada continue salta a la siguiente


iteraci n.

Estructuras repetitivas: Instrucciones
útiles
• range( n): Genera una secuencia de n meros enteros desde 0 hasta n - 1:

• Ejemplo: range(5) genera la secuencia: 0, 1, 2, 3, 4

• range(inicio, n, salto): Genera una secuencia de n meros enteros desde inicio


hasta n-1 con un incremento de salto

• Ejemplo: range(1, 15, 3) genera la secuencia: 1, 4, 7, 10, 13

• Si se quisiera generar una lista a partir de un rango se hace typecast con el tipo list:

• list(range(1, 15, 3)) -> [1, 4, 7, 10, 13]


fi
fi
fi


fi
Estructuras repetitivas: Instrucciones
útiles (continuación)
• enumerate(objeto) permite enumerar un objeto iterable

• Opera recibiendo como argumento cualquier objeto


iterable y retornando uno nuevo cuyos elementos son
tuplas de dos elementos:

1. Un ndice (posición a partir del cero o una llave)

2. Valor del elemento que se encuentra en dicho índice


en el objeto original

Actividad #4
• Escribir un programa que pida al usuario un n mero entero positivo y muestre
por pantalla si es primo o no

• Escribir un programa que muestre por pantalla la tabla de multiplicar del 1 al 10

10 minutos

Las cadenas de caracteres
• Las cadenas cortas son se componen de caracteres
encerrado entre comillas simples (') o dobles (")

• Las cadenas largas se componen de caracteres


encerrados entre grupo comillas triples simples (''') o
dobles (""")
cadenas de caracteres: pre jos
• f/F, indica que se trata de una cadena con formato

• r/R, indica que se trata de una cadena raw (del ingl s,


cruda). Las cadenas raw se distinguen de las normales en
que los caracteres escapados mediante la barra invertida
(\) no se sustituyen

• u/U, el cual indica, que se trata de una cadena que utiliza


codi caci n unicode
fi


fi
cadenas de caracteres: concatenación

• Concatenar dos cadenas signi ca unirlas, se realiza


mediante el operador de suma (+). Se debe tener en
cuenta que debes marcar expl citamente d nde quieres
los espacios en blanco y colocarlos entre comillas

fi


cadenas de caracteres: multiplicación

• Se utiliza el operador de multiplicaci n (*) para crear


m ltiples copias de una cadena


cadenas de caracteres: sub-cadenas
• Podemos utilizar la funcionalidad slice de las listas para
acceder y retornar una sub-cadena

• La sintaxis de de ne a continuaci n, donde el valor de n


nunca se toca

cadena[inicio: n:salto]
fi
fi

fi
cadenas de caracteres: formato
• Es possible modi car el formato de cualquier cadena de
caracteres.

• Para hacerlo usamos cualquiera de los m todos:

• Mediante el pre jo f

• Mediante la utilidad format al cual pasamos los valores


a ser remplazados
fi
fi

cadenas de caracteres: métodos útiles
• lower() Convierte todos las letras a minúsculas

• upper() Convierte todos las letras a mayúsculas

• capitalize() Convierte el primer caracter a mayúscula

• swapcase() Convierte todos las letras a mayúsculas o minúsculas

• title() Convierte el primer caracter de cada palabra a mayúscula

• replace(ref, valor) Retorna una nueva cadena reemplazando las apariciones


de ref por valor

• count(character) Retorna el n mero de veces que el caracter aparece en la


cadena

• split(token) Devuelve una lista de sub-cadenas cortando en cada aparición


de token.

• nd(x) Retorna el ndice de la primera aparici n de elemento x en la cadena


fi



cadenas de caracteres: métodos útiles

• isdigit() devuelve True si la cadena representa un número


entero

• isalnum() devuelve True si la cadena contiene solamente


números y letras.

• startswith(x) devuelve True o False si la cadena inicia con


la sub-cadena x

• endswith(x) devuelve True o False si la cadena termina


con la sub-cadena x
Actividad #5
• Escribir un programa que pregunte al usuario la fecha de su nacimiento en el
formato dd/mm/aaaa y muestra por pantalla, el mensaje “Nació el día X del mes
Y del año Z”. Adaptar el programa anterior para que también funcione cuando el
día o el mes se introduzcan con un solo carácter ej: 3/8/1990.

10 minutos

También podría gustarte