Pour cela, je vais m'appuyer sur la méthode siamoise. >>> print( magic_square(3, 'SO'))
[[2 9 4]
[7 5 3]
[6 1 8]]
La fonction magic_square prend deux arguments: la dimension du carré magique souhaité (pour l'instant, seuls les nombres impairs sont pris en compte) et la direction souhaitée pour appliquer la méthode siamoise ('NE', 'SE', 'NO' ou 'SO'). L'objet retourné par cette fonction est un array. Il est donc nécessaire de faire appel au module numpy. Fonction carré exercice corrigé seconde. L'inconvénient de cette fonction est qu'elle ne retourne pas l'ensemble de tous les carrés magiques. Cependant, en considérant les quatre carrés obtenus avec les différentes directions, ainsi que leur transposé, on en a huit. >>> for d in ('SO', 'NO', 'SE', 'NE'):
C = magic_square(3, d)
print( C, end='\n\n')
print( transpose(C))
[[2 7 6]
[9 5 1]
[4 3 8]]
[[6 1 8]
[2 9 4]]
[[6 7 2]
[1 5 9]
[8 3 4]]
[[4 9 2]
[3 5 7]
[8 1 6]]
[[4 3 8]
[2 7 6]]
[[8 1 6]
[4 9 2]]
[[8 3 4]
[6 7 2]]
J'ai aussi implémenté une fonction pour vérifier si un carré est magique:
>>> C = magic_square(3, 'SO')
>>> is_magic(C)
True
[Retour à la page principale]
Fonction Carré Exercice Physique
Exemple M[0] est la liste [ 4, 7, 10, 3] M[2] est la liste [ 13, 0, 5, 8] M[i][j] est l'élément à la ième ligne et la jème colonne, dans M Exemple M[0][1] est l'élément 7 M[2][1] est l'élément 0 I. Exercice, carré - Inégalité, équation, variations, inéquations - Seconde. Opérations sur une matrice carrée Écrire la fonction somme_ligne(M, i), qui reçoit en paramètres une matrice carrée M contenant des nombres, et un entier i qui représente l'indice d'une ligne dans M. La fonction retourne la somme des nombres de la ligne d'indice i dans M. Exemple La fonction somme_ligne (M, 1) retourne la somme 3+2+9+6 = 20 Voir la réponse def somme_ligne(M, i):
n=len(M)
s=0
for j in range(n):
s+=M[i][j]
return s
Écrire la fonction somme_colonne(M, j), qui reçoit en paramètres une matrice carrée M contenant des nombres, et un entier j qui représente l'indice. Exemple La fonction somme_colonne (M, 0) retourne la somme 4+3+13+7 = 27 Voir la réponse def somme_colonne(M, j):
for i in range(n):
Écrire la fonction somme_diag1(M), qui reçoit en paramètre une matrice carrée M contenant des nombres, et qui retourne la somme des éléments de la première diagonale principale dans M.
Manuel numérique max Belin