🎨
Informática para ingeniería 2023-2024
  • Informática para ingeniería
  • Básico python
  • Estructuras de control
    • while
    • for
    • try...except
    • If, else, elif, while, for
    • Ejemplo. Ciclos anidados. Tablas de multiplicar
    • Método abreviado
    • ¿Qué hace zip() ?
  • Secuencias
  • Comparativas: Cadena, lista, tupla y conjunto
    • Ejemplos listas y funciones: Control de temperatura
    • Verificación del NIF
    • Ejemplo listas: control de temperaturas
  • Secuencias: Matriz
    • Definición: Matriz
    • Localizar valores únicos en una matriz
    • Ejemplo matrices: Suma y Multiplicación
    • verificar si una matriz es cuadrada
  • Funciones
    • Definición: funciones
    • Ejemplo de funciones
  • Módulos
    • Módulo. Definición
    • Ejemplos de Módulos: math y random
  • Método abreviado de comprensión de listas...
    • Comprensión de listas
  • Funciones- Matriz-Ejemplos
    • Ejemplo, cálculo de Nómina mensual
    • Ejemplo, cálculo de Nómina mensual (desde el programa principal)
    • Menú, matriz y funciones
    • Localizar valores únicos en una matriz. Usar Funciones
    • Ejemplo funciones, matriz, archivos: Recuento de votos
    • Matrices 2ª Prueba Evaluación Continua. Curso 2018-2019 Parcial. Prof MRD
    • Prueba Evaluación Continua. Curso 2018-2019. Examen 1. Prof. MRD
    • Gestión de una matriz de números enteros
  • Ejecutable
    • Crear un programa ejecutable
  • Archivo (ficheros)
    • Definición: archivos (ficheros)
  • Ejemplos de Matriz y archivos (ficheros)
    • ¿Cómo se multiplican dos matrices?
    • Crear una matriz a partir de un archivo
    • Pedir datos, guardarlos en una matriz y en un archivo
    • Cálcular la media de unos datos almacenados en un archivo
    • Leer archivo, modificar datos y guardarlos
  • Interfaz Gráfica
    • Definición: Interfaz Gráfica de Usuario (IGU)
      • Label
      • Button
      • Radiobutton y Checkbutton
      • LabelFrame
      • Listbox
      • Entry
      • Características comunes de Label, Entry, button, radiobutton checkbutton
      • ttk.Combobox
      • Tamaño de una ventana
    • Ejemplo de Entorno gráfico: RadioButton
    • Visualizar la especialidad y nombre de un alumno
    • Visualizar los datos introducidos
    • Sumar 10 a un número introducido
    • Cálculo del área de un triángulo
    • Cálculo del área de un Círculo. Y dibujo de un círculo
    • ¿Dos números son divisibles?
    • Introducir valores y graficar
    • Ejemplo de botón, lista
  • Ejemplos de interfaz gráfica y archivos
  • Entorno gráficos y archivos
    • Almacenar los datos de un alumno
Con tecnología de GitBook
En esta página
  • Ejemplo
  • Enunciado
  • Análisis:
  • Diagrama
  • Códig
  1. Funciones- Matriz-Ejemplos

Menú, matriz y funciones

AnteriorEjemplo, cálculo de Nómina mensual (desde el programa principal)SiguienteLocalizar valores únicos en una matriz. Usar Funciones

Ejemplo

Enunciado

En función de la decisión del usuario, el programa realizará:

  1. Creará una matriz cuadrada, donde se la pedirá al usuario el tamaño. Los valores serán aleatorios entre 1-20, si existe la matriz, se borrará.

  2. Localizar el valor más alto de la matriz.

  3. La diagonal de la matriz.

  4. Imprimir la matriz.

  5. Salir

Para cada opción debe crear una función.

Análisis:

  • Si no hay matriz no se puede realizar las opciones de la 2 a la 4.

  • Preguntar al usuario lo que quiere realizar, sino es una opción válida volver a pedirla.

  • El tamaño será un valor entero.

Diagrama

Códig

#Importo random
import random
#Crea el menú de opciones
def menu_opciones():
    print("Menú")
    print("1. Crear matriz")
    print("2. Ver la diaginal principal")
    print("3. Valor más alto")
    print("4. Imprimir matriz")
    print("5. Salir")
#Valida el dato introducido por el usuario:sireve para la creación del menú como tamaño   
def validar (mensaje,limite_inferior,limite_superior):
    # Validamos el tamaño de la matriz
    bandera=True
    while bandera:
        try:
            Numero = int(input(mensaje)) 
        except:
            print("Tecleaste letras")
        else:
            if Numero>=limite_inferior and Numero<=limite_superior:
                bandera=False
            else:
                print("Has tecleado 0, un número negativo o te saliste de límite")
    return Numero
#Crea la matriz
def crear_matriz():
    N=validar("Dame el tamño de la matriz",2,25)
    matriz=[]  
    # Crear la matriz con números aleatorios enteros entre 1 y 31 
    for i in range(N):
        matriz.append([])
        for j in range (N):
            matriz[i].append(random.randint(1,20))
    return matriz
#Localiza la diagonal
def localizar_diagonal(matriz):
    diagonal=[]
    for i in range(len(matriz)):
        diagonal.append(matriz[i][i])
    return diagonal
#Localiza el valor mayor de una matriz
def dato_mayor(matriz):
    valor_maximo = matriz[0][0] # Asumimos que el valor máximo es el primer elemento de la matriz. 
    for i in range(len(matriz)):  # iteramos sobre las filas de la matriz. 
        for j in range(len(matriz[i])):   # iteramos sobre los elementos de cada fila. 
            if matriz[i][j] > valor_maximo:   # si encontramos un número mayor al asumido como máximo lo guardamos en nuestra variable. 
                valor_maximo = matriz[i][j]    
    print("El valor más alto de esta matríz es",valor_maximo)
#Imprimir la matriz
def imprimir_matriz(matriz):
    #Imprimimos la matriz
    resultado=""
    for i in range (len(matriz)): 
        for j  in range (len(matriz[i])): 
            resultado+=str(matriz[i][j])+"\t"  
        resultado+="\n"
    return resultado
#crear el menú
bandera=True
matriz=[]
#Repite hasta que el usuario teclee un 5, salir
#Establece la llamada a cada función
while bandera:
    menu_opciones()
    opcion=validar("Dime que opción quieres realizar",1,5)
    if opcion==1:
        matriz=crear_matriz()
    elif opcion==2:
        if len(matriz)!=0:
            diagonal_matriz=localizar_diagonal(matriz)
            print("la diagonal de la matriz es:{}".format(diagonal_matriz))
        else:
            print("primero debes crear la matriz")
    elif opcion==3:
        if len(matriz)!=0:
            dato_mayor(matriz)
          
        else:
            print("primero debes crear la matriz")
    elif opcion==4:
        if len(matriz)!=0:
            matriz_imprimir=imprimir_matriz(matriz)
            print("La matriz es:\n {}".format( matriz_imprimir))
        else:
            print("primero debes crear la matriz")
    else:
        print("Salir")
        bandera=False