💡
Parte Práctica. Informática para Ingeniería
  • Dudas
  • Conceptos básicos. Cuestionario.
  • Practica 4. Utilización try...except:
  • Ejemplo. Ciclos anidados. Tablas de multiplicar
  • Práctica 5. Funciones y Módulos
    • Ejemplo de funciones
    • Análisis funciones. Ejercicio 1. Segundos totales.
    • Crear un programa ejecutable
    • Importar Módulos
  • Ejemplo de funciones. Comprobar NIF correcto
  • Ejemplo funciones y listas.
  • Instalar Numpy
  • Práctica 6. Matrices. Conjuntos
    • Ejemplo, matrices: Suma y Multiplicación (numpy y listas)
    • Ejemplo: Introducir datos en una matrices (Listas y numpy)
    • Análisis del problema de las Tuberías
    • Ejemplo, Conjuntos. Intersección
    • Análisis del ejercicio 3. nombres no repetidos (Conjuntos)
    • Análisis: Ejercicio 3 Complementario (Mátriz).
  • Clase
  • Ejemplo Ficheros o Archivos. Práctica 7.
  • Análisis de la Práctica 7. Fichero o Archivo
  • Ejemplo de base de datos: Sqlite
  • Ejemplo de base de datos. Sqlite 3. Introducir y visualizar datos.
  • Ejemplo. Funciones, matriz. Recuento de votos
  • Ejemplo, GUI Interfaces Gráficas. Cálculo del área de un Triángulo
  • Cuestionario
  • Ejemplo. Cálculo de Nómina mensual
  • Matrices 2ª Prueba Evaluación Continua. Curso 2018-2019 Parcial. Prof MRD
  • Prueba Evaluación Continua. Curso 2018-2019. Examen 1. Prof. MRD
Con tecnología de GitBook
En esta página
  • Enunciado
  • Análisis:
  • Código
  • Código utilizando Numpy

¿Te fue útil?

Matrices 2ª Prueba Evaluación Continua. Curso 2018-2019 Parcial. Prof MRD

Funciones, listas, matrices

Enunciado

  1. Rellenar una lista con M posiciones. M debe de tener un valor entre 1-15. Los valores de la lista se le piden al usuario y deben estar en el rango -100 y 100.

  2. Localizar a todos los elementos que no estén repetidos en la lista, contarlos y almacenarlos (se muestran en el principal).

  3. Crear una matriz N * M. N puede tener cualquier valor y M tiene que coincidir con el apartado 1. Rellenar la matriz copiando los elementos de la lista un número N de veces.

  4. Pedir al usuario un número correspondiente a una fila valida de la matriz, sumar todos los elementos de la fila y promediarlos. Regresar los valores en una tupla.

Todo el programa debería resolverse utilizando las funciones y dejando en el principal solo las llamadas a las mismas, pedir datos y/o mostrar datos. Funciones sugeridas:

  • Función que compruebe valores en rango apartado 1.

  • Función que rellene lista apartado 1.

  • Función que identifique los elementos no repetidos de la lista y los cuente, apartado 2.

  • Función que rellene la matriz utilizando como base la lista anterior, apartado 1.

  • Función que sume los elementos de la fila, calcule el promedio y retorne ambos elementos en una tupla, apartado 4.

Análisis:

  • Crear una función que permita validar los datos. def validar(mensaje,minimo,maximo):

Código

#PARCIAL 2 
#Funcion que permite comprobar que un número pedido cumple con  un rango
def Validar(mensaje,minimo,maximo):
    correcto=False
    while correcto!=True:

        try:
            valor=int(input(mensaje))
            if valor>=minimo and valor<=maximo:
                    return valor
            else:
                print("Número fuera de rangos")
        except:
            print("Has tecleado un valor no númerico")
def Crear_Lista(posiciones):
    valores=[]
    for i in range(posiciones):#Recorremos todas las posiciones para que el usuario introduzca valores
        valor=Validar("Introduzca el número del valor que quiera introducir en la posición {i+1}(Entre -100 y 100): ",-100,100)
        valores.append(valor)
    return valores

def No_repetidos(valores):
    noreptidos=set(valores)
    return noreptidos
def NoRepetidos(valores):
    lista_no_repetidos=[]
    conjuntos=set(lista)
    cunatos_hay=len(conjuntos)
    for i in lista:
        veces=lista.count(i)
        if veces==1:
            lista_no_repetidos.append(i)

    return lista_no_repetidos

def Tupla(matriz,fila):
    filavalida=matriz[fila-1]
    sumatorio=0
    tupla=[]
    for i in filavalida:
        sumatorio+=i
    tupla.append(sumatorio)
    promedio=round(sumatorio/len(matriz[0]),2)
    print(promedio)
    tupla.append(promedio)
    tupla=tuple(tupla)
    return tupla
def crear_matriz(filas):
    matriz=[]
    for i in range(filas):
        matriz.append(lista)
    return matriz
#Opción 1 pedir los valores
M=Validar("Dime cuantas elementos vas a tener ==>", 1,15)
#Opción 2 crear la lista
lista=Crear_Lista(M)
#Visualizar la lista
print(lista)
#Si se interpreta que no debe aparecer el repetido
lista_norepetidos= NoRepetidos(lista)
print(lista_norepetidos)
print("Los datos no repetidos son: ",lista_norepetidos,"y son", len(lista_norepetidos))
#Si se interpreta que puede estar repetido
conjunto_datosnorepetidos=No_repetidos(lista)
print("los datos no repetidos son: ",conjunto_datosnorepetidos ,"y son", len(conjunto_datosnorepetidos))
#Pedir número de fila
N=Validar("Dime cuantas filas vas a tener==>", 1,15)
#Crear la matriz
matriz=crear_matriz(N)
print(matriz)
#Obtener pedir la fila, obtener la suma y visualizarla
fila=Validar("Introduzca una fila en la cual quiera realzar una suma y un promedio: ",1,N)
tupla=Tupla(matriz,N)
print("La suma de la fila {} es: {} el promedio de la fila es:  {}".format(N,tupla[0],tupla[1]))

Código utilizando Numpy

#PARCIAL 2 
#Funcion que permite comprobar que un número pedido cumple con  un rango
from numpy import*
def Validar(mensaje,minimo,maximo):
    correcto=False
    while correcto!=True:
        
        try:
            valor=int(input(mensaje))
            if valor>=minimo and valor<=maximo:
                    return valor
            else:
                print("Número fuera de rangos")
        except:
            print("Has tecleado un valor no númerico")
def Crear_Lista(posiciones):
    valores=[]
    for i in range(posiciones):#Recorremos todas las posiciones para que el usuario introduzca valores
        valor=Validar("Introduzca el número del valor que quiera introducir en la posición {i+1}(Entre -100 y 100): ",-100,100)
        valores.append(valor)
    return valores

def No_repetidos(valores):
    noreptidos=set(valores)
    return noreptidos
def NoRepetidos(valores):
    lista_no_repetidos=([])
    conjuntos=set(lista)
    cunatos_hay=len(conjuntos)
    for i in lista:
        veces=lista.count(i)
        if veces==1:
            lista_no_repetidos.append(i)
    
    return lista_no_repetidos

def Tupla(matriz,fila):
    filavalida=matriz[fila-1]
    sumatorio=0
    tupla=[]
    for i in filavalida:
        sumatorio+=i
    tupla.append(sumatorio)
    
    promedio=round(sumatorio/len(matriz),2)
    print(promedio)
    tupla.append(promedio)
    tupla=tuple(tupla)
#   Otra manera
    suma = matriz.sum(axis = 1)
   
    suma_final=suma[fila-1]
    promedio = suma_final/suma.shape[0]
    tupla=[]
    tupla.append(suma_final)
    tupla.append(promedio)
    Tupla=tuple(tupla)
    print(suma)
    print(promedio)

    return Tupla
def crear_matriz(m,filas):
    matriz = zeros((m,filas))
    for i in range(matriz.shape[0]):
        matriz[i] = lista
    return matriz
#Opción 1 pedir los valores
M=Validar("Dime cuantas elementos vas a tener ==>", 1,15)
#Opción 2 crear la lista
lista=Crear_Lista(M)
#Visualizar la lista
print(lista)
#Si se interpreta que no dbe aparecer el repetido
lista_norepetidos= NoRepetidos(lista)
print(lista_norepetidos)
print("Los datos no repetidos son: ",lista_norepetidos,"y son", len(lista_norepetidos))
#Si se interpreta que puede estar repetido
conjunto_datosnorepetidos=No_repetidos(lista)
print("los datos no repetidos son: ",conjunto_datosnorepetidos ,"y son", len(conjunto_datosnorepetidos))
#Pedir número de fila
N=Validar("Dime cuantas filas vas a tener==>", 1,15)
#Crear la matriz
matriz=crear_matriz(N,M)
print(matriz)
#Obtener pedir la fila, obtener la suma y visualizarla
fila=Validar("Introduzca una fila en la cual quiera realzar una suma y un promedio: ",1,N)
tupla=Tupla(matriz,N)
print("La suma de la fila {} es: {} el promedio de la fila es:  {}".format(N,tupla[0],tupla[1]))
AnteriorEjemplo. Cálculo de Nómina mensualSiguientePrueba Evaluación Continua. Curso 2018-2019. Examen 1. Prof. MRD

Última actualización hace 5 años

¿Te fue útil?