Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: Meta en 18 Noviembre 2010, 09:50 AM

Título: [Python] - Primos y matrices.
Publicado por: Meta en 18 Noviembre 2010, 09:50 AM
Hola:
>:D

Ver número 255). (http://www.subeimagenes.com/img/wwwwwwwwwwwwwwwwwwwwwwwww-7145.jpg)


Título: Re: [Python] - Primos y matrices.
Publicado por: Meta en 19 Noviembre 2010, 07:28 AM
En algoritmo por lo que interpreto es:

-  Lista de Matriz.
- Determinar si son números primos o no.
...

Código (python) [Seleccionar]
A = [[1, 2,  3], [2, 12, 6], [1, 0, -3], [10, -1, 0]]

sumatorio = 0

for i in range(A:
   sumatorio += i
   A = ¡**2
print A


Me sale este error.
Código (python) [Seleccionar]
   A = ¡**2
       ^
SyntaxError: invalid syntax
Título: Re: [Python] - Primos y matrices.
Publicado por: [L]ord [R]NA en 19 Noviembre 2010, 08:37 AM
Esta mal, suma todas las filas, luego suma todas las columnas y verifica si el resultado de la sumatoria de alguna fila es igual al resultado de la sumatoria de alguna columna, eso es todo lo que te estan pidiendo... por cierto donde te da el error tienes un signo de admiracion, no es una i
Título: Re: [Python] - Primos y matrices.
Publicado por: Meta en 19 Noviembre 2010, 09:28 AM
Iba a sumar pero me sale este error.

Citarfor i in range(A):
TypeError: range() integer end argument expected, got list.

Código (python) [Seleccionar]
A = [[1, 2,  3], [2, 12, 6], [1, 0, -3], [10, -1, 0]]

for i in range(A):
    print A[i]


Juaría que la suma es algo como esto:

Código (python) [Seleccionar]
# Empieza el c´alculo de la suma.
31 for i in range(m):
32 for j in range(n):
33 C[i][j] = A[i][j] + B[i][j]
34
35 # Y mostramos el resultado por pantalla
36 print "Suma:"
37 for i in range(m):
38 for j in range(n):
39 print C[i][j],
40 print


Página 198 del pdf de mi firma.
Título: Re: [Python] - Primos y matrices.
Publicado por: seele en 19 Noviembre 2010, 13:34 PM
pues justamente esto
Código (python) [Seleccionar]

for i in range(A):
TypeError: range() integer end argument expected, got list.


range espera un entero como minimo como parametro y le estas pasando una lista
Título: Re: [Python] - Primos y matrices.
Publicado por: Meta en 19 Noviembre 2010, 15:47 PM
Código (python) [Seleccionar]
A = [[1, 2,  3], [2, 12, 6], [1, 0, -3], [10, -1, 0]]

for i in len(A):
    print A[i]


Con len(A) tampoco funciona. Dentro de un rato investigaré más, ahora mismo voy a reparar una nevera, ajjajja. Gracias por su paciencia y enseñarme.

Muchísimas gracias a todos y a todas.
Título: Re: [Python] - Primos y matrices.
Publicado por: Novlucker en 19 Noviembre 2010, 16:03 PM
A ver Meta, analiza detenidamente los errores, es que el for espera una lista de items o un iterador.
range: genera una lista recibiendo como parametro los valores del rango en el que deben de estar, es decir, un número, tu que le estas pasando como parametro? Una lista.
len: devuelve el largo de una lista, es decir, devuelve un número, pero el for necesita una lista
¿Donde esta la lista? La lista es la propia A

por cada elemento en A:
imprime elemento


Saludos
Título: Re: [Python] - Primos y matrices.
Publicado por: Meta en 19 Noviembre 2010, 16:39 PM
Lo raro que A tiene varias listas dentro, por eso estoy pescando, jejeje.
Título: Re: [Python] - Primos y matrices.
Publicado por: Novlucker en 19 Noviembre 2010, 18:36 PM
Código (python) [Seleccionar]
>>> a = [[1,2],[3,4],[5,6]]
>>> for i in a:
...     print i
...
[1, 2]
[3, 4]
[5, 6]
>>>


Con esto tiene que ser suficiente supongo
Ponle ganas, pero ganas de verdad :rolleyes:

Saludos
Título: Re: [Python] - Primos y matrices.
Publicado por: Meta en 20 Noviembre 2010, 06:01 AM
Código (python) [Seleccionar]
A = [[1, 2,  3], [2, 12, 6], [1, 0, -3], [10, -1, 0]]

sumatorio = 0

for i in A:
    sumatorio += i
    A = i**2
print A


Citarsumatorio += i
TypeError: unsupported operand type(s) for +=: 'int' and 'list'

Título: Re: [Python] - Primos y matrices.
Publicado por: Shell Root en 20 Noviembre 2010, 06:07 AM
Obvio, porque lo que en realidad estás sumando son listas,
Código (python) [Seleccionar]
[1, 2, 3]
[2, 12, 6]
[1, 0, -3]
[10, -1, 0]


es decir, estás sumando de la siguiente manera,
Código (python) [Seleccionar]
[1, 2, 3] + [2, 12, 6] + [1, 0, -3] + [10, -1, 0]

podrías hacer algo como esto,
Código (python) [Seleccionar]
A = [[1, 2,  3], [2, 12, 6], [1, 0, -3], [10, -1, 0]]

sumatorio = 0

for i in A:
for j in i:
sumatorio += j
print sumatorio
Título: Re: [Python] - Primos y matrices.
Publicado por: Meta en 20 Noviembre 2010, 06:35 AM
Hice esto:

Código (python) [Seleccionar]
A = [[1, 2,  3], [2, 12, 6], [1, 0, -3], [10, -1, 0]]

sumatorio = 0

for i in A:
    for j in i:
        sumatorio += j
print sumatorio


Resultado.
Citar33

Parece que funciona.
Título: Re: [Python] - Primos y matrices.
Publicado por: [L]ord [R]NA en 20 Noviembre 2010, 13:42 PM
Nop, esta mal... estas sumando todos los elementos de la matriz y segun el enunciado necesitas ver si la suma de alguna fila es igual a la suma de alguna columna.

Edito:

creo que lo que te piden es algo asi:

Código (python) [Seleccionar]
a=[]
b=[]
c,d=0,0
M=[[13,4,2],[4,34,5],[2,56,3]]

for i in M:#Filas
    for j in i:
        c+=j
    a.append(c)
    c=0
   
for j in range(0,3): #Columnas
        for k in range(0,3):
            d+=M[k][j]
        b.append(d)
        d=0

for i in a:#Comprobacion
    for j in b:
        if i==j:
            print "Es una Matriz Prima."
            exit(0)
print "No es una Matriz Prima"