1Eva_IIT2013_T4 Sorteo series mundial de fútbol
1Eva_IIT2011_T4 Impuestos casillas/envíos del exterior
CCPG1001-FIEC-ESPOL
1Eva_IIT2007_T3 Garantías de prestamos IESS
Solución propuesta: Sol-py
1Eva_IIT2012_T4 Informe de pasantías
Solución propuesta: Sol_py
1Eva_IIT2010_T1 Censo de instrucción por género
Solución propuesta: Sol_py
1Eva_IT2010_T1 Bono para televisores en Uruguay
Solución propuesta: sol_py
3Eva_IT2005_T4 Tabla de Pozo millonario
Solución propuesta: Sol_py
1Eva_IIT2005_T3 Entrenamiento atleta: promedios
Solución propuesta: Sol_py
2Eva_IT2012_T2 Cifrado musical americano
2Eva_IT2010_T2 Operaciones infix – postfix
2Eva_IT2009_T1 Desordenar una palabra
2Eva_IIT2007_T1 Palabras aleatorias, genword
2Eva_IT2006_T3 Encriptar a Morse
3Eva_IIT2013_T3 buscar cadena en una frase
3Eva_IT2013_T1 Verificar Abecegrama
3Eva_IIT2012_T1 Alfabeto radiofónico
2Eva_IIT2008_T2 Etiquetar a robots (R2D2)
Solución propuesta: Sol_py
2Eva_IT2005_T1 Completar cadena con padright
Solución propuesta: Sol_py
Solución Propuesta: Sol_py
2Eva_IT2011_T4 Números Romanos a decimal
Solución propuesta: Sol_py
Para usar matrices en Python se pueden obtener las matrices desde archivos, o almacenar las matrices hacia archivos. Así no será necesario tener que escribir los valores de las matrices cada vez que se requiera hacer una operacion.
Funciones incorporadas en libreria numpy para guardar o abrir una matriz desde un archivo en formato .txt.
Guardar una matriz a un archivo usando: numpy.savetxt('matriz.txt', matriz)
>>> import numpy as np >>> matriz = np.array([[1,2,3],[4,5,6]]) >>> matriz array([[1, 2, 3], [4, 5, 6]]) >>> np.savetxt('matriz00.txt',matriz)
se puede encontrar en archivo txt en el directorio de trabajo de Python
El archivo puede ser abierto para observar desde el «block de notas»
continuando con el ejercicio anterior, para abrir o leer desde un archivo en formato de texto ‘matriz.txt’, se dispone de la instruccion de Numpy: np.loadtxt('matriz.txt',dtype=int)
La instrucción permite indicar el tipo de datos que se usan en el arreglo.
>>> A = np.loadtxt('matriz00.txt',dtype=int) >>> A array([[1, 2, 3], [4, 5, 6]]) >>> B = np.loadtxt('matriz00.txt') >>> B array([[ 1., 2., 3.], [ 4., 5., 6.]])
Nota: lo importante es el formato del archivo en tipo texto. Algunas veces los archivos tienen extensión .dat que también pueden ser leidos.
3Eva_IT2000_T2 Matriz: puntos por goles en campeonato
2Eva_IIT2011_T3 Movimientos del caballo en ajedrez
3Eva_IIT2015_T3 funciones matrices rotar, extraer
3Eva_IIT2015_T4 Orientar código QR (Quick Response Code)
3Eva_IIT2014_T1 Ubicar estudiantes en aula
2Eva_IT2015_T3 Distribuye tortugas en región
2Eva_IT2015_T4 Movilidad de tortugas en región
2Eva_IIT2009_T2 Transponer una matriz
El manejo de texto en computador es un tema interesante al conocer que internamente maneja solo números binarios. Se requiere una presentación de los símbolos o letras que representan un idioma.
Cada símbolo, letra o «caracter» que se presenta al escribir en pantalla se convierte en una sucesión ordenada de imágenes, semejante a agrupar las fichas del juego Scrable
Una palabra se puede observar como las casillas de un vector, dando la pauta para el manejo de texto en el computador.
En Python, el texto para los mensajes en las preguntas «input» y las salidas «print» se escriben entre comillas o apóstrofes. Cada letra de una palabra se puede identificar por su posición como en un vector.
>>> palabra = 'manzana' >>> len(palabra) 7 >>> palabra[0] 'm' >>> palabra[4] 'a' >>>
Al unir palabras se forma una oración, el concepto de concatenar se resume en la union de varias palabras para formar una oración un título o un mensaje.
>>> palabra1 = 'El' >>> palabra2 = 'saber' >>> frase = palabra1 + palabra2 >>> frase 'Elsaber' >>> frase = palabra1 + ' ' + palabra2 >>> frase 'El saber' >>> cadena1 = 'no ocupa lugar' >>> frase = frase + ' ' + cadena1 >>> frase 'El saber no ocupa lugar' >>>
Para convertir una frase o palabra a mayúsculas o viceversa, se usan las instrucciones: palabra.upper() y palabra.lower().
Siguiendo el ejemplo anterior, el ejemplo de uso es:
>>> frase 'El saber no ocupa lugar' >>> enmayusculas = frase.upper() >>> enmayusculas 'EL SABER NO OCUPA LUGAR' >>> enminusculas = frase.lower() >>> enminusculas 'el saber no ocupa lugar' >>>
También es posible aplicar operaciones de comparación entre caracteres, o cadenas.
Considere que los caracteres o dibujos de mayúsculas son diferentes a los de minúsculas.
>>> letra1 = 'd' >>> letra1 > 'a' True >>> letra1 > 'g' False >>> letra1 == 'D' False >>>
ejemplo con cadenas, o palabras:
>>> fruta1 = 'manzana' >>> fruta2 = 'pera' >>> fruta3 = 'manzana' >>> fruta4 = 'MANZANA' >>> fruta1 == fruta3 True >>> fruta1 == fruta2 False >>> fruta1 == fruta4 False >>>
Para segmentar o dividir el texto por algún símbolo se dispone de la instruccion frase.split().
En el ejemplo se muestra como se separa la frase
>>> separa = frase.split() >>> separa ['El', 'saber', 'no', 'ocupa', 'lugar'] >>> separa[1] 'saber' >>>
1) 3Eva_IT2002_T1 Triunfos, empates y derrotas por Goles
Solucion propuesta: Videos Tutoriales
2) 3Eva_IT2003_T2 Verificar un cuadrado mágico
Solución propuesta: Sol_py
3) 2Eva_IT2009_T3 Mejores vendedores por categoría
Solución propuesta: Sol_py
4) 1Eva_IIT2003_T3 Personas asignadas a proyectos
Solución propuesta: Sol_py
Una forma de matriz muy conocida es la de dos dimensiones, con índices de filas «i» y columnas «j» y puede ser escrita en un arreglo de dos dimensiones
La interpretación de los datos de un arreglo – Matriz puede ser variada, desde un sistema de ecuaciones, una tabla de goles de un campeonato, una hoja de calendario.
Al igual que los vectores, las matrices en arreglos tienen como componentes: «nombre», «índice» y «tamaño». Los valores de tamaño dependen de las dimensiones de la matriz. Para los primeros ejercicios serán rectangulares de nxm.
Los índices a diferencia de el álgebra, inician en cero.
Para su mejor manejo se usan las funciones en la librería Numpy (Numerical Python) que se incorporan en el bloque de inicio con el alias np.
import numpy as np
En algebra se usa definir la matriz de nxm, para muchos problemas puede ser una matriz de ceros, o una matriz de unos:
>>> import numpy as np >>> n = 5 >>> m = 7 >>> matriz0 = np.zeros(shape=(n,m), dtype=float) >>> matriz0 array([[0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0.]]) >>> matriz1 = np.ones(shape=(n,m), dtype=float) >>> matriz1 array([[1., 1., 1., 1., 1., 1., 1.], [1., 1., 1., 1., 1., 1., 1.], [1., 1., 1., 1., 1., 1., 1.], [1., 1., 1., 1., 1., 1., 1.], [1., 1., 1., 1., 1., 1., 1.]]) >>>
El tipo de matriz (dtype=int
) se añade para indicar que la matriz es de tipo entera, la forma predeterminada para los datos es tipo real (dtype=float
)
Las dimensiones de la matriz se obtienen mediante la intrucción:
>>> np.shape(matriz0) (5, 7) >>> tamano = np.shape(matriz0) >>> tamano (5, 7) >>> tamano[0] 5 >>> tamano[1] 7 >>> dimension = np.ndim(matriz0) >>> dimension 2 >>>
entre otras operaciones en Numpy que reflejan las operaciones de matrices de algebra.
Referencias: Inice con la definición de matrices del algebra lineal:
http://blog.espol.edu.ec/matg1049/cl1-02-sistema-de-ecuaciones-lineales/
Las operaciones básicas de matrices se describen también en algebra lineal:
http://blog.espol.edu.ec/matg1049/cl2-07-operaciones-entre-subespacios/
La Unidad 3 Sistemas de Ecuaciones del curso Análisis Numérico desarrolla los algoritmos en Python en base a los métodos matemáticos.
Observe el siguiente video y plantee la relación con el tema de arreglos, matrices, dimensiones y computación.
1) 1Eva_IT2013_T4 Tabular atención al cliente
solución propuesta: Sol_py
2) 1Eva_IIT2002_T2 Color de placas de vehículos
Solución propuesta: sol_py
3) 1Eva_IT2008_T2 Criba de Eratóstenes
Solución propuesta: sol_py
4) 1Eva_IT2002_T3 Calificaciones mejores que alguien
1) 1Eva_IT2008_T3 Simular precio de petroleo
Solución propuesta (literal c): sol_py
2) 1Eva_IIT2010_T3 Juego del amigo secreto
Solución propuesta: sol_py,
3) 1Eva_IIT2007_T2 Juego de la Ruleta
Solución propuesta: sol_py
1) 1Eva_IT2005_T3 Arreglo aleatorio binario a decimal
2) 1Eva_IT2001_T6 Piloto y copiloto para nave