L'algorithme du carré magique sur Python
TD : L'algorithme du carré magique sur Python. Recherche parmi 300 000+ dissertationsPar Issa122 • 7 Juin 2022 • TD • 1 003 Mots (5 Pages) • 421 Vues
choix = input("test niveau 1 =1, créer un carre avec les nombres de 1 à n=2")
def sommeLigne(carre, n):
somme = 0 # La somme des lignes est égale à 0
ligne = carre[n] # La ligne est égale au carré de n
for valeur in ligne: # Pour la valeur dans la ligne
somme += valeur # La somme est soit + soit = à la valeur
return somme # On reviens à la somme
carre = [[2, 7, 6],[9, 5, 1],[4, 3, 8]] # Les élements du carré
print("la somme des éléments de la ligne n du carré carre est : ",sommeLigne (carre, 1))
print()
def sommeColonne(carre, p):
somme = 0 # La somme est égale à 0
colonne = [ carre[i][p] for i in range(0,len(carre))] # la variable colonne est égale à carre de i et p /
for valeur in colonne: # pour la valeur dans la colonne
somme += valeur # la somme est + ou = à la valeur
return somme # on reviens à sommmz
print("la somme des éléments d’une colonne p du carré carre est : ",sommeColonne (carre, 0))
print()
def lignes_egales(carre):
somme = 0
diagonale = [carre[i][i] for i in range(0,len(carre))]
for valeur in diagonale: # pour la valeur dans la diagonale
somme += valeur # La somme est soit + soit = à la valeur
return somme # on retourne à somme
print("la somme de chaques lignes est égale à : ",lignes_egales(carre))
print()
def colonnes_egales(carre):
somme = 0 # la somme est égale à 0
n = len(carre) # n est égal à len de carré
diagonale = [carre[i][n-1-i] for i in range(0,n)]
for valeur in diagonale: # pour la valeur dans la diagonale
somme += valeur # la some est soit + soit égake à la valeur
return somme
print("la somme de chaque colonne est égale à : ",colonnes_egales(carre))
print()
def est_magique(carre):
"renvoie True si matrice est un carré magique, False sinon."
n = len(carre) # nombre de lignes de matrice
magique = sommeLigne(carre, 0)
for k in range(1, n):
if sommeLigne(carre, k) != magique: return False # si la a somme des éléments de la ligne n du carré de la valeur k est supèrieur ou égale à la variable magique, alors le carré affiche False, n'est pas magique
for k in range(0, n):
if sommeColonne(carre, k) != magique: return False # si la somme des éléments d’une colonne p du carré de la valeur k est supèrieur ou égale à notre variable magique, le carré affiche False
if lignes_egales(carre) != magique: return False # si la somme de chaque ligne est supèrieur ou égale à notre variable magique, le carré affiche False
if colonnes_egales(carre) != magique: return False # si la somme de chaque colonne est supèrieur ou égale à notre variable magique, le carré affiche False
...