23/09/2019, 08:28:09 am *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias: Homenaje a aladan
 
 
Páginas: [1]   Ir Abajo
  Imprimir  
Autor Tema: filas consecutivas en un matriz PYTHON  (Leído 177 veces)
0 Usuarios y 1 Visitante están viendo este tema.
gorkam
Nuevo
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 14


Ver Perfil
« : 03/07/2019, 01:09:05 pm »

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 _______________________
En línea
feriva
Pleno*
*****

Karma: +1/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 8.367



Ver Perfil
« Respuesta #1 : 03/07/2019, 01:48:01 pm »

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.
En línea

ingmarov
Moderador Global
Pleno*
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Honduras Honduras

Mensajes: 4.282



Ver Perfil
« Respuesta #2 : 03/07/2019, 02:00:46 pm »

Hola

Aprovechando el aporte de mi sempai feriva

Spoiler (click para mostrar u ocultar)

Saludos
En línea

No te confíes, revisa lo que escribo. Yo también me equivoco.
Odio el autocorrector de Android...
feriva
Pleno*
*****

Karma: +1/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 8.367



Ver Perfil
« Respuesta #3 : 03/07/2019, 02:09:10 pm »

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 :sonrisa:

Saludos.
En línea

ingmarov
Moderador Global
Pleno*
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Honduras Honduras

Mensajes: 4.282



Ver Perfil
« Respuesta #4 : 03/07/2019, 02:17:09 pm »

...
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 :sonrisa:
...

Por favor ... no mientas ni hables mal de mi sempai pythonero:enojado:  :sonrisa_amplia:  :sonrisa_amplia:

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

Saludos
En línea

No te confíes, revisa lo que escribo. Yo también me equivoco.
Odio el autocorrector de Android...
feriva
Pleno*
*****

Karma: +1/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 8.367



Ver Perfil
« Respuesta #5 : 03/07/2019, 02:35:49 pm »



Por favor ... no mientas ni hables mal de mi sempai pythonero:enojado:  :sonrisa_amplia:  :sonrisa_amplia:


:cara_de_queso: :cara_de_queso: 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.
En línea

ingmarov
Moderador Global
Pleno*
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Honduras Honduras

Mensajes: 4.282



Ver Perfil
« Respuesta #6 : 03/07/2019, 02:46:07 pm »



Por favor ... no mientas ni hables mal de mi sempai pythonero:enojado:  :sonrisa_amplia:  :sonrisa_amplia:


:cara_de_queso: :cara_de_queso: 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
En línea

No te confíes, revisa lo que escribo. Yo también me equivoco.
Odio el autocorrector de Android...
geómetracat
Moderador Global
Pleno*
*

Karma: +0/-0
Conectado Conectado

Sexo: Masculino
España España

Mensajes: 730



Ver Perfil
« Respuesta #7 : 03/07/2019, 02:48:31 pm »

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)
En línea

La ecuación más bonita de las matemáticas: [texx]d^2=0[/texx]
feriva
Pleno*
*****

Karma: +1/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 8.367



Ver Perfil
« Respuesta #8 : 03/07/2019, 02:51:30 pm »


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 :cara_de_queso: (ahora editaré) Tú sigues programando mucho mejor que yo, insisto, un despiste no va a cambiar eso.

Saludos.
En línea

feriva
Pleno*
*****

Karma: +1/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 8.367



Ver Perfil
« Respuesta #9 : 03/07/2019, 03:18:46 pm »

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.
En línea

geómetracat
Moderador Global
Pleno*
*

Karma: +0/-0
Conectado Conectado

Sexo: Masculino
España España

Mensajes: 730



Ver Perfil
« Respuesta #10 : 03/07/2019, 03:58:58 pm »

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

Saludos.

Sí, Python es una maravilla.  :sonrisa_amplia:
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.
En línea

La ecuación más bonita de las matemáticas: [texx]d^2=0[/texx]
ingmarov
Moderador Global
Pleno*
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Honduras Honduras

Mensajes: 4.282



Ver Perfil
« Respuesta #11 : 03/07/2019, 04:07:11 pm »

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

Saludos.

Sí, Python es una maravilla.  :sonrisa_amplia:
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
En línea

No te confíes, revisa lo que escribo. Yo también me equivoco.
Odio el autocorrector de Android...
Páginas: [1]   Ir Arriba
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.4 | SMF © 2006, Simple Machines LLC XHTML 1.0 válido! CSS válido!