| Guardar | Abrir |
| Abrir y añadir | con números |
| diccionarios | Ejercicios resueltos |
Categoría: Unidades
Unidades de Estudio
-
6.1.2 Diccionarios - Ejercicios
[ Diccionario ] [ Ejemplos ] [ Ejercicios ]
Ejercicios a resolver usando diccionarios en Python
2Eva_IT2011_T2 Votar por nombre del puente
2Eva_IIT2017_T1 Citas San Valentín
2Eva_IT2008_T4 Medallas olímpicas por país
2Eva_IT2009_T4 Informe de pacientes con AH1N1
3Eva_IIT2006_T4 Beneficiarios de Bono Desarrollo Humano
[ Diccionario ] [ Ejemplos ] [ Ejercicios ]
-
6.1.1 Diccionarios - Ejemplos
[ Diccionario ] [ Ejemplos ] [ Ejercicios ]
Ejercicios resueltos con diccionarios en Python
2Eva_IT2015_T1 kutipak() quichua-español
Solución propuesta: s2Eva_IT2015_T1 kutipak() quichua-español
2Eva_IT2006_T1 Donaciones defensa civil
Solución Propuesta: s2Eva_IT2006_T1 Donaciones defensa civil
2Eva_IT2005_T4 Registrar mejores calificaciones
Solución Propuesta: s2Eva_IT2005_T4 Registrar mejores calificaciones
3Eva_IT2009_T3 Aspirantes a escuela de policia
Solución Propuesta: s3Eva_IT2009_T3 Aspirantes a escuela de policía
2Eva_IT2010_T3 Registrar donantes ONTOT
Solución propuesta: s2Eva_IT2010_T3 Registrar donantes ONTOT
[ Diccionario ] [ Ejemplos ] [ Ejercicios ]
-
6.1 Diccionarios en Python
[ Diccionario ] [ Ejemplos ] [ Ejercicios ]
Referencia: Rodríguez 7.7 p317, Van Rossum p33.
Los diccionarios son colecciones de datos con un formato que permite definir y acceder a sus componentes únicamente mediante una
"clave". Cada componente de un diccionario es un par"clave:valor". El diccionario se define con corchetes"{}"y sus parejas de datos se separan con dos puntos ":".Las claves deben ser únicas dentro del mismo diccionario.
Por ejemplo, para un diccionario entre quichua-español, se emparejan palabras entre los idiomas de la forma:
diccionario = {'man':'al', 'wasi':'casa', 'pak':'del', 'kuska':'lugar', 'pash':'y', 'iyayku':'tecnología', 'mañay':'servicio', 'mamallakta':'país', 'kutipak ':'traductor'}para acceder al valor de una entrada o clave se usa formato de
diccionario[entrada], y para consultar las entradas o claves se usa diccionarios.keys()>>> diccionario['wasi'] 'casa' >>> diccionario.keys() dict_keys(['man', 'wasi', 'pak', 'kuska', 'pash', 'iyayku', 'mañay', 'mamallakta', 'kutipak ']) >>>
Los valores se pueden pedir con
diccionario.values()y la cantidad de entradas se encuentra conlen().>>> diccionario.values() dict_values(['al', 'casa', 'del', 'lugar', 'y', 'tecnología', 'servicio', 'país', 'traductor']) >>> len(diccionario) 9 >>>
Agregar elementos al diccionario una vez creado sigue un formato ya familiar de usar. Para el ejemplo se inicializa un diccionario vacio:
>>> diccionario ={} >>> diccionario['wasi']='casa' >>> diccionario {'wasi': 'casa'} >>> diccionario.update([['lugar','pash']]) >>> diccionario {'wasi': 'casa', 'lugar': 'pash'} >>>Los valores del diccionario asignados a la clave pueden ser datos simples o datos estructurados de tipo lista, tupla, conjunto o diccionario.
[ Diccionario ] [ Ejemplos ] [ Ejercicios ]
-
5.6 Funciones de usuario - Crear archivo para librerías de usuario en Python
Los algoritmos que se reutilizan y se convierten a funciones, se pueden agrupar en un
archivo.py. Esto permite crear un archivo como librerías con funciones personalizadas.Las librerías se pueden llamar por la instrucción
importy se usan individualmente por el nombre de lafunción().Ejemplo - archivo de librerías personalizadas
Para le ejemplo se crean dos funciones
sumando(a,b)einvierteletras(palabra)en un solo archivopolitoESPOL.py, en directorio de trabajo:# ejemplo de libreria de funciones def sumando(a,b): c = a + b return(c) def invierteletras(palabra): n = len(palabra) invertida = '' for i in range(0,n,1): invertida = palabra[i] + invertida return(invertida)
Archivo de programa principal
politoProgram.pyque lo va a usar en el mismo directorio de trabajo donde se encuentra el archivopolitoESPOL.py,de las funciones anteriores. Esta ubicación permite realizar la llamadaimport politoESPOL as espol.# probando importar funciones import politoESPOL as espol # INGRESO a = 3 b = 5 palabra = 'polito' # PROCEDIMIENTO sumado = espol.sumando(a,b) alreves = espol.invierteletras(palabra) # SALIDA print('la suma es: ', sumado) print('palabra invertida: ',alreves)
con lo que el resultado del algoritmo y las funciones personalizadas es:
la suma es: 8 palabra invertida: otilop >>>
-
5.5 Funciones - librerías en Python
Algunas librerías vienen en la instalación básica de Python, como por ejemplo:
Revisar en el enlace: https://docs.python.org/2/library/math.html
La librería math contiene funciones matemáticas, para usarla se la llama al inicio (import):
import mathpara luego usarla como en los ejemplos .
math.sqrt(4) math.sin(0.4) math.cos(0.3) math.tan(0.45)
Aleatorios se pueden obtener al importar la librería random
import random as rnd
ejemplo de un dado se obtiene como:
dado=int(rnd.random()*6)+1
Otras librerías se desarrollan por diferentes comunidades y se deben incorporar a la instalación. Revisar sección Descargas
Librerías para Arreglos: Matrices, Vectores

Numpy es una librería de funciones para manejo de matrices y vectores en matemáticas y álgebra.
import numpy as np np.zeros(n, dtype=int) np.zeros(shape=(n,n), dtype=int) np.arange(2, 10, dtype=np.float) np.linspace(1., 4., 6) np.sin() np.cos() np.random.random()
Librerías para Gráficas
de funciones en los planos cartesianos, ver sección para graficas usan las librerías matplotlib: https://matplotlib.org/
import matplotlib.pyplot as plt
Existen algunas versiones empaquetadas de Python que permiten disponer de las librerías científicas preinstaladas. El proceso de instalación es simplificado y se encuentra en la sección WinPython (portable)
Ejemplos de cómo usar las librerías gráficas se dan en la Unidad 8 Gráficas básicas de funciones
-
5.4 Funciones Recursivas - Conceptos y ejercicios resueltos
Referencia: Rodríguez 6.0 p168
Una función recursiva muy conocida y definida en la matemática es el factorial. El factorial tiene la característica que se puede llamar a si misma.
5! = 5x4! 4! = 4x3! 3! = 3x2! 2! = 2x1! por definición 1! = 1Se interpreta que para encontrar 5! requerimos la respuesta de 4!.
Para encontrar 4! se debe calcular 3! y así sucesivamente,
hasta llegar al valor inicial de la función que es 1!=1La solución se interpreta hacia atrás, empezando desde la respuesta conocida de 1! =1 y reemplazando los valores en las operaciones que esperaban por resolver:
5! = 5x4! = 5x24 = 120 4! = 4x3! = 4x6 = 24 3! = 3x2! = 3x2 = 6 2! = 2x1! = 2x1 =2 por definición 1! = 1Observamos que la función recursiva tiene: valores iniciales, que se llama a si misma, y de forma matemática tiene una forma elegante de escribirse:
n! = \begin{cases} 1 && n=1 \\ n(n-1)! && n>1\end{cases}Escribir la función recursiva en un algoritmo consiste en transcribir paso a paso lo descrito en forma matemática.
# factorial en forma recursiva def factorial(n): if n==1: resultado = 1 if n>1: resultado = n*factorial(n-1) return(resultado)
una vez que se ejecuta el algoritmo para que esté disponible en memoria, se usa llamando a la función
>>> factorial(5) 120 >>> factorial(1) 1 >>> factorial(4) 24 >>>
Existen otras funciones recursivas en matemáticas que se pueden fácilmente convertir a algoritmos como Fibonacci, Padovan, incluso algunas que funcionan en parejas como Par e impar. Se muestran algunas en la sección de ejemplos.
Observaciones de uso
Sin embargo, hay que considerar que la recursividad se usa con precaución, pues las llamadas generan otra instancia que puede saturar la capacidad del computador.

Matrioshka. Muñeca tradicional rusa, hueca con más muñecas en su interior. En el ejemplo se observa que se tienen operaciones en espera de resultados de la siguiente respuesta, cada llamada usa memoria, tiempo de cómputo como recursos.
Por ejemplo, al intentar de obtener factorial(1000) en forma recursiva, se obtiene un error
"RecursionError: maximum recursion depth exceeded in comparison".Los lenguajes de programación tienen como límite máximo de llamadas recursivas, para evitar saturar los recursos disponibles de memoria y tiempo computacional.
3. Ejemplos
2Eva2007TII_T4 Fibonacci recursiva
Solución propuesta: s2Eva2007TII_T4 Fibonacci recursiva
2Eva2007TI_T1 Funciones par e impar recursivas
Solución Propuesta: s2Eva2007TI_T1 Funciones par e impar recursivas
3Eva2004TI_T3 Multiplicar con campesino egipcio
Solución Propuesta: s3Eva2004TI_T3 Multiplicar con campesino egipcio
Ejercicios
-
5.3.3 Funciones - Matrices con arreglos, ejercicios resueltos
Ejemplos, ejercicios resueltos con funciones
2Eva_IIT2008_T3 Crear un Calendario
Solución propuesta con video: s2Eva_IIT2008_T3 Crear un Calendario
2Eva_IIT2003_T2 Mostrar un triángulo de Pascal
Solución propuesta: s2Eva_IIT2003_T2 Mostrar un triángulo de Pascal
3Eva_IT2003_T1 Raíces enteras positivas del polinomio
Solución propuesta: s3Eva_IT2003_T1 Raíces enteras positivas del polinomio
2Eva_IT2014_T3 Imagen RGB a gris
Solución propuesta: s2Eva_IT2014_T3 Imagen RGB a gris
Nota: requiere el tema 2 sobre funciones. 2Eva_IT2014_T2 Función color RGB a gris
Solución propuesta: s2Eva_IT2014_T2 Función color RGB a gris
2Eva_IT2013_T2 Una Tabla de Bingo con arreglos
Solución propuesta: s2Eva_IT2013_T2 Una Tabla de Bingo con arreglos
Nota: requiere el tema 1 sobre funciones: 2Eva_IT2013_T1 Función sorteoentre(k,a,b)
Solución propuesta: s2Eva_IT2013_T1 Función sorteoentre(k,a,b)
Tareas
-
5.3.2 Funciones - Ejercicios numéricos y cadenas en Python
Se listan algunos ejercicios sobre funciones con operaciones numéricas y otra para ser realizadas con cadenas de caracteres.
Funciones con operaciones Numéricas
2Eva_IT2014_T2 Función color RGB a gris
2Eva_IIT2011_T1 Algoritmo de Euclides MCD
2Eva_IIT2013_T3 Encriptar binarios con XOR
2Eva_IT2003_T1 Funciones promedio, mayor y menor
2daEva_IIT2004_T3 Reciclar vasos
Funciones con cadenas de caracteres
2Eva_IIT2014_T3 Palabras monovocalicas en frase
2Eva_IIT2015_T1 función lipovocal(frase)
2Eva_IT2006_T3 Encriptar a Morse
2Eva_IT2009_T1 Desordenar una palabra
2Eva_IT2014_T1 Palabras con eco
Funciones con Arreglos - matrices
3Eva_IT2010_T2 Funciones ocupados y ubica libre en matriz
3Eva_IIT2010_T1 Matriz con aleatorios no repetidos (desordena)
-
5.3.1 Funciones - Ejercicios resueltos en Python
Ejercicios resueltos sobre Funciones() definidas por el usuario. Los ejemplos presentados, requieren que el usuario desarrolle el algoritmo como una función acorde a las estructuras de programación.
3Eva_IT2000_T1 Validar caracteres tipo numérico
Solución Propuesta: s3Eva_IT2000_T1 Validar caracteres tipo numérico
3Eva_IIIT2003_T1 Funciones lógicas pyq y poq
Solución Propuesta: s3Eva_IIIT2003_T1 Funciones lógicas pyq y poq
2Eva_IIT2002_T1 Número perfecto
Solución Propuesta: s2Eva_IIT2002_T1 Número perfecto
2Eva_IIT2002_T3 Encriptar PIN(4 dígitos)
Solución propuesta: s2Eva_IIT2002_T3 Encriptar PIN(4 dígitos)
2Eva_IT2008_T2 Validar cédula ecuatoriana
Solución propuesta: s2Eva_IT2008_T2 Validar cédula ecuatoriana
