Python matrices, listas y funciones.
Publicado por luisgarc (4 intervenciones) el 31/12/2020 09:35:07
Muy buenas, ayer vi que un chico ponía un problema de Python y lo pudo resolver aquí. Yo estoy teniendo problemas también con un ejercicio, a ver si alguien me puede ayudar, lo agradecería muchísimo:
El ejercicio pide:
"Escribe una función llamada cruz que tome como parámetros de entrada una matriz m de dimensión NxN (N constante conocida) y una lista v de N valores entre 0 y N-1. La función devolverá una nueva lista de valores calculados de la siguiente forma: El elemento i de la nueva listá será el resultado de sumar los elementos de m correspondientes a la columna v[i] y restar los de la fila v[i]. La función también devolverá la suma de todos los elementos de matriz. Ejemplo: (para N=3)
Introduce una matriz 3x3:
7 4 3
2 9 1
3 6 4
Introduce una lista: 2 0 1
La nueva lista es [-5, -2, 7] y la suma total es 39
Nota: El primer elemento de la nueva lista es el resultado de sumar la columna 2: (3, 1, 4) y restar la fila 2: ( 3, 6, 4), resultando -5. De igual manera calcularemos los otros dos componentes de la nueva lista."
Hasta el momento he hecho esto pero solo he obtenido errores:
El ejercicio pide:
"Escribe una función llamada cruz que tome como parámetros de entrada una matriz m de dimensión NxN (N constante conocida) y una lista v de N valores entre 0 y N-1. La función devolverá una nueva lista de valores calculados de la siguiente forma: El elemento i de la nueva listá será el resultado de sumar los elementos de m correspondientes a la columna v[i] y restar los de la fila v[i]. La función también devolverá la suma de todos los elementos de matriz. Ejemplo: (para N=3)
Introduce una matriz 3x3:
7 4 3
2 9 1
3 6 4
Introduce una lista: 2 0 1
La nueva lista es [-5, -2, 7] y la suma total es 39
Nota: El primer elemento de la nueva lista es el resultado de sumar la columna 2: (3, 1, 4) y restar la fila 2: ( 3, 6, 4), resultando -5. De igual manera calcularemos los otros dos componentes de la nueva lista."
Hasta el momento he hecho esto pero solo he obtenido errores:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
def cruz(m,v):
m=[]
v=[]
n=int(input('Dime el tamaño de tu matriz cuadrada: '))
for i in range (n):
print('Escribe tu matriz',n,'por',n,)
a=['']*n
m.append(a)
for i in range (0,n-1):
numv=int(input('Escribe la lista: '))
v.append(numv)
c=[]
filas=len(m)
columnas=len(m[0])
for i in range (filas):
sum1=sum(m[i])
c[i].append(sum1)
for j in range (columnas):
sum2=sum(fila[i] for fila in m)
c.append(sum2-sum2)
return c
def summing(suma):
suma=0
for num in m:
suma+=num
return suma
t=int(input('Escribe la matriz: '))
l=int(input('Escribe la lista: '))
print(cross(t,l(summing(suma)))
Valora esta pregunta


0