Disciplinas relacionadas con la matemática => Temas de computación => Mensaje iniciado por: gorkam en 03 Julio, 2019, 13:09



Título: filas consecutivas en un matriz PYTHON
Publicado por: gorkam en 03 Julio, 2019, 13:09
Necesito ayuda para sacar el algoritmo que me decida si una matriz, no necesariamente cuadrada, tiene dos filas consecutivas cuyas sumas de elementos coinciden. Tengo el esqueleto del algoritmo, falta rellenarlo.

def rowsum(matrix, i):
    result = 0
    for j in range(0,i+1):
        result = result + matrix[j]
    return result

def equalrowsum(matrix):
    i = 0
    while ______________________ and ______________________:
          ______________________
    return _______________________


Título: Re: filas consecutivas en un matriz PYTHON
Publicado por: feriva en 03 Julio, 2019, 13:48
Necesito ayuda para sacar el algoritmo que me decida si una matriz, no necesariamente cuadrada, tiene dos filas consecutivas cuyas sumas de elementos coinciden. Tengo el esqueleto del algoritmo, falta rellenarlo.

def rowsum(matrix, i):
    result = 0
    for j in range(0,i+1):
        result = result + matrix[j]
    return result

def equalrowsum(matrix):
    i = 0
    while ______________________ and ______________________:
          ______________________
    return _______________________

Hola. éste es un ejemplo "discreto", particular. Si necesitas algo más general, lo conviertes fácilmente cambiando el "for" por "while" y poniendo una matriz de "n" vectores; aunque esto será teórico, porque los ordenadores no cuentan hasta infinito.

Es muy sencillo, no necesitas recurrir al uso de una función ni nada así. Además, no sólo te dice si hay dos iguales seguidas, sino que te dice todas las parejas que haya (una vez generalizado). Si no entiendes algo, me lo preguntas:

Código:
k="a"

M=[[0,0,7],[0,0,6],[4,1,1]] #matriz


for j in range (len(M)):

s = sum (M[j])

if s == k:

print ("Sumas consecutivas iguales:", j,",", j+1)

k=s

Saludos.


Título: Re: filas consecutivas en un matriz PYTHON
Publicado por: ingmarov en 03 Julio, 2019, 14:00
Hola

Aprovechando el aporte de mi sempai feriva

Spoiler (click para mostrar u ocultar)

Saludos


Título: Re: filas consecutivas en un matriz PYTHON
Publicado por: feriva en 03 Julio, 2019, 14:09
Hola

Aprovechando el aporte de mi sempai feriva

Spoiler (click para mostrar u ocultar)

Saludos

Mucho mejor que el mío, dónde va a parar, y más corto; se nota quién es pythonero y científico profesional, yo sólo soy un chapucillas :)

Saludos.


Título: Re: filas consecutivas en un matriz PYTHON
Publicado por: ingmarov en 03 Julio, 2019, 14:17
...
Mucho mejor que el mío, dónde va a parar, y más corto; se nota quién es pythonero y científico profesional, yo sólo soy un chapucillas :)
...

Por favor ... no mientas ni hables mal de mi sempai pythonero.  >:(  ;D  ;D

Tu relación con python es más cercana...

Saludos


Título: Re: filas consecutivas en un matriz PYTHON
Publicado por: feriva en 03 Julio, 2019, 14:35


Por favor ... no mientas ni hables mal de mi sempai pythonero.  >:(  ;D  ;D


:D :D Gracias.

Una cosa que no había visto en tu programa: si ninguna suma es igual a la de “sum(M[0])”, pero sí son iguales, por ejemplo, sum(M[1]) y sum(M[2]), éstas no las va a detectar, ¿no?

Saludos.


Título: Re: filas consecutivas en un matriz PYTHON
Publicado por: ingmarov en 03 Julio, 2019, 14:46


Por favor ... no mientas ni hables mal de mi sempai pythonero.  >:(  ;D  ;D


:D :D Gracias.

Una cosa que no había visto en tu programa: si ninguna suma es igual a la de “sum(M[0])”, pero sí son iguales, por ejemplo, sum(M[1]) y sum(M[2]), éstas no las va a detectar, ¿no?

Saludos.

TE DIJEEEEE...

Gracias por las observaciones, ya he añadido y corregido al código lo que faltaba.

Espero que esta vez esté bien.

Saludos


Título: Re: filas consecutivas en un matriz PYTHON
Publicado por: geómetracat en 03 Julio, 2019, 14:48
Solo por diversión (no creo que sea bueno implementar las cosas así, menos si se está aprendiendo), una solución en una línea:

Spoiler (click para mostrar u ocultar)


Título: Re: filas consecutivas en un matriz PYTHON
Publicado por: feriva en 03 Julio, 2019, 14:51

TE DIJEEEEE...

Gracias por las observaciones, ya he añadido y corregido al código lo que faltaba.

Espero que esta vez esté bien.

Saludos

Seguro que ya sí.

Pero esto no quiere decir nada; yo ni sé poner los paréntesis para el Pytho3 :D (ahora editaré) Tú sigues programando mucho mejor que yo, insisto, un despiste no va a cambiar eso.

Saludos.


Título: Re: filas consecutivas en un matriz PYTHON
Publicado por: feriva en 03 Julio, 2019, 15:18
Solo por diversión (no creo que sea bueno implementar las cosas así, menos si se está aprendiendo), una solución en una línea:

Spoiler (click para mostrar u ocultar)

Gracias por compartirlo, geómetracat, no lo conocía; qué cosas tiene el Python, no deja de sorprender.

Saludos.


Título: Re: filas consecutivas en un matriz PYTHON
Publicado por: geómetracat en 03 Julio, 2019, 15:58
Gracias por compartirlo, geómetracat, no lo conocía; qué cosas tiene el Python, no deja de sorprender.

Saludos.

Sí, Python es una maravilla.  ;D
En particular, las "list comprehension" es una función increíblemente útil que no he visto en otros lenguajes de programación. Es sorprendente la cantidad de problemas típicos que se pueden resolver con una única línea de Python gracias a ello.


Título: Re: filas consecutivas en un matriz PYTHON
Publicado por: ingmarov en 03 Julio, 2019, 16:07
Gracias por compartirlo, geómetracat, no lo conocía; qué cosas tiene el Python, no deja de sorprender.

Saludos.

Sí, Python es una maravilla.  ;D
En particular, las "list comprehension" es una función increíblemente útil que no he visto en otros lenguajes de programación. Es sorprendente la cantidad de problemas típicos que se pueden resolver con una única línea de Python gracias a ello.

Síííí, una maravilla.

El compañero Pierrot ya nos ha mostrado código de una línea en el lenguaje Perl.

http://rinconmatematico.com/foros/index.php?topic=83373.msg334070#msg334070

Saludos