Python - 3x3 python help

 
Vista:
sin imagen de perfil
Val: 10
Ha disminuido su posición en 9 puestos en Python (en relación al último mes)
Gráfica de Python

3x3 python help

Publicado por shubi (5 intervenciones) el 19/06/2019 19:07:43
1. Un cuadrado mágico es una tabla cuadrada que contiene números naturales, de modo que las sumas de cada fila, columna y diagonales son iguales. Los cuadrados mágicos más populares son aquellos que tienen los números consecutivos desde el 1 hasta n2, donde n es el número de filas y de columnas del cuadrado.
Escriba un programa en Python llamado cuadrado_magico.py, que realice lo siguiente: a) Permita ingresar el valor de n.
b) Permita ingresar los valores del cuadrado mágico.
c) Escriba las siguientes funciones:
● suma_filas(c): debe retornar True si la suma de todas las filas del cuadrado c suman lo mismo, de lo contrario, retornar False.
● suma_columnas(c): debe retornar True si la suma de todas las columnas del cuadrado c suman lo mismo, de lo contrario, retornar False.
● suma_diagonales(c): debe retornar True si la suma de las dos diagonales del cuadrado c suman lo mismo, de lo contrario, retornar False.
● son_consecutivos(c): debe retornar True si los números del cuadrado c son consecutivos, de lo contrario, retornar False.
d) Finalmente, implemente una función cuadrado_magico(c) que retorne True si c es un cuadrado mágico o no, de lo contrario, retorne False. Desde luego, debe emplear todas las funciones implementadas más arriba.
Nota: Se deben considerar resolver el problema para distintos valores de n (3x3, 4x4, 5x5, etc.)
Ejemplo:
Considerando el siguiente cuadrado de 3x3


4 . 9 . 2
3 . 5 . 7
8 . 1 . 6

n: 3
Valor 1.1: 4
Valor 1.2: 9
Valor 1.3: 2
Valor 2.1: 3
Valor 2.2: 5 Valor 2.3: 7 Valor 3.1: 8
Valor 3.2: 1
Valor 3.3: 6
Es un cuadrado magico!!

Me quede perdia con esto :/
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Jaime
Val: 385
Bronce
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

3x3 python help

Publicado por Jaime (101 intervenciones) el 20/06/2019 17:03:01
Este es el código para encontrar las diagonales de un cuadrado. Lo puedes reutilizar para crear tu programa:
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
36
37
38
import numpy as np
 
list = np.array([1, 2, 3])
list2 = np.array([4, 5, 6])
list3 = np.array([7, 8, 9])
listT = (list, list2, list3)
array = np.array(listT)
 
 
# Función que recibe un array y el tamaño del mismo.
# Debe ser un array perfecto.
# @return Array con la diagonal arriba-abajo
 
def diagArAb(matriz, tama):
    a = np.zeros((tama, tama))
    for f in range(tama):
        for c in range(tama):
            if (f == c):
                a[f][c] = matriz[f][c]
    return a
 
 
# Función que recibe un array y el tamaño del mismo.
# Debe ser un array perfecto.
# @return Array con la diagonal abajo-arriba
 
def diagAbAr(matriz, tama):
    a = np.zeros((tama, tama))
    for f in range(tama):
        for c in range(tama-1, -1, -1):
            if ((f+c) == (tama-1)):
                a[f][c] = matriz[f][c]
    return a
 
print(array)
t = 3
print(diagArAb(array, t))
print(diagAbAr(array, t))
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 10
Ha disminuido su posición en 9 puestos en Python (en relación al último mes)
Gráfica de Python

3x3 python help

Publicado por shubi (5 intervenciones) el 24/06/2019 17:45:26
Hola sabes que me da error tengo que instalar algun complemento ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar