







Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Cómo utilizar enumerados en python y cómo ordenar vectores y matrices mediante los métodos de burbuja e inserción. Además, se incluyen ejemplos prácticos.
Tipo: Apuntes
1 / 13
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!








Lista ordenada de identificadores.
**#Llamada a libreria from enum import Enum
Identif_conjunto = Enum** (‘ Identif_conjunto ‘, ‘ identif1, identif2,…,identifn ‘)
**#Llamada a libreria from enum import Enum
meses = Enum** ('meses', ‘enero, febrero, marzo, abril, mayo, junio, julio, agosto, septiembre, octubre, noviembre, diciembre’) for m in meses : print ( m ) #Muestra toda la variable for m in meses : print ( m.name ) #Muestra nombres for m in meses : print ( m.value ) #Muestra valores
Operaciones que admite: Comparacion is, not is if meses.enero is meses.febrero: print('enero es menor que Febrero') else : print ('no es') de comparación == o ¡=: print(meses.enero == 1) print(meses.enero ¡= 1)
Declaran un intervalo de valores.
Tema 3: Tipos de datos estructurados
Para trabajar con arrays en Python necesitaremos:
http://www.cdlibre.org/consultar/catalogo/Python_Bibliotecas.html Desde aquí se accede a NumPy 1.9.2 (py 3.4), nos redirecciona a otra página para su ejecución.
#1. Invocar a la librería en bloque declarativo del programa_ import numpy as np
#2. Inicializar vector en el cuerpo principal del programa:
v = np.empty((Max,), dtype=np.int)
#Mediante esta función inicializo todas las componentes del vector CON BASURA. #Max es una constante que especifica la dimensión máxima del vector. #dtype detalla el tipo de datos del vector, en el ejemplo es un entero.
Los vectores pueden tener diferentes tipos de elementos, esto se especifica mediante atributo dtype:
- dtype=np.int #Especificación del tipo para crear vectores de enteros - dtype=np.float #Especificación del tipo para crear vectores números reales - dtype=np.bool #Especificación del tipo para crear vectores de tipo booleano - dtype=np.str #Especificación del tipo para crear vectores de tipo carácter - dtype=np.object #Especificación del tipo para crear vectores de tipo cadena de caracteres
Nota: También se podría inicializar a ceros pero daría errores si el tipo de datos no es numérico y si alguna componente del vector es cero.
v = np.zeros((Max,), dtype=np.int) #Mediante esta función inicializo a ceros solo vale para vectores numéricos
Ejemplos:
#Bloque declarativo
import numpy as np Max = #Cuerpo principal
v = np.empty((Max,), dtype=np.float) v2 = np.empty((Max,), dtype=np.float) v[1] = float(input('Introduzca real que ocupa posición 1: ')) print(v[1]) v2[8] =v[1] print(v2[8])
Ejemplo : Programa que lee una secuencia de 50 elementos como máximo y los imprime en orden inverso al de entrada.
#Bloque declarativo
import numpy as np Maxi =
def dim(): while True: n = int(input(' Dime cuantos elementos vas a introducir en el vector')) if (n>0)and (n for i in range(n-1): for j in range(n-i): if v[j] > v[j+1]: v[j],v[j+1] = cambiar(v[j],v[j+1]) return v
def ordenar_burbuja3(v,n): '''v,n <- v Dado un vector de dimensión n ordena sus componentes por el método de la burbuja mejorando la eficiencia de los otros métodos de la burbuja''' b = False i = 1 while (b == False) and (i v[j+1]: v[j],v[j+1] = cambiar(v[j],v[j+1]) b = False i =i+ return v
def insercion(v,n): '''v,n <- v Dado n datos los va insertando en el vector v''' for i in range(n): aux = int(input('Dime dato')) j = i- while (aux =0): v[j+1] = v[j] j = j- v[j+1] = aux return v def seguir(): while True: s = input('Quieres salir?') if (s.upper() == 'SI') or (s.upper() == 'NO'): break return (s.upper() == 'SI') def elige(): ''' Procedimiento que lee un vector y lo ordena por los 4 métodos implementados anteriormente''' vector =np.empty((Max,),dtype =np.int) n = dim() while True: m = int(input('Elige opción ordenación Burbuja 1,2,3 ó inserción 4 : ')) if m>0 and m<5: break if m ==1: vector = leer(vector,n) vector = ordenar_burbuja1(vector,n) print(' El vector ordenado es burbuja1: ') escribir(vector,n)
Tema 3: Tipos de datos estructurados
elif m ==2: vector = leer(vector,n) vector = ordenar_burbuja2(vector,n) print(' El vector ordenado es burbuja2: ') escribir(vector,n) elif m ==3: vector = leer(vector,n) vector = ordenar_burbuja3(vector,n) print(' El vector ordenado es burbuja3: ') escribir(vector,n) else: vector =insercion(vector,n) escribir(vector,n) #Cuerpo del programa while True: elige() b =seguir() if b: break
Tema 3: Tipos de datos estructurados
Ejemplo 1 .Inicializar variable tipo matriz de 3 filas y 4 columnas
#Bloque declarativo import numpy as np Maxf = 3 Maxc =
#Cuerpo principal del programa m = np.empty((Maxf,Maxc,), dtype=np.int)
Ejemplo 2
#Bloque declarativo import numpy as np
Fil = range(8,16) # Fijo rango de elementos como constante Dias = ('l','m', 'x', 'j' ,'v', 's', 'd') # Fijo una tupla de elementos como constante
def leer(m,nf,nc): for i in range(nf): for j in range(nc): m[i,j] = int(input('Introduzca el número fila: '+ str(i+8) + ' columna: '+ Dias[j]+ "\n" )) #Formato de salida rango filas sumo 8 pq rango #comienza en 8 columnas muestro datos de tuplas return m
def escribir(m,nf,nc):
for i in range(nf): for j in range(nc): print(m[i,j],end=' ') # m[i,j] es igual que m[i][j] print()
#Cuerpo principal m = np.empty((len(Fil),len(Dias),), dtype=np.float) m = leer(m, len(Fil), len(Dias)) escribir( m, len(Fil), len(Dias))
Mª Ángeles Fdez de Sevilla Vellón Página 13
Solicitar un dato y recorrer la matriz para localizarlo en la misma indicando si el dato se ha localizado y, en caso afirmativo, devolver la primera posición en la que se encuentra (fila y columna).