Menu


1NSI

Les exercices python à connaître

programme de première
E1 : listes
E2 : listes
E3 : listes
E4 : tri par insertion
E5 : tri par séléction
E6 : dictionnaires / string
E7 : tuple
E8 : boucle / booléen / liste
E9 : string
E10 : dictionnaire / fonctions
E11 : booléens / listes
récursivité
E1 : somme d'entiers
E2 : chiffres romains
E3 : factorielle
E4 : rendu de monnaie
POO
E1 : la classe Chien
E2 : carrés semi-magiques
E3 : filtre sur une pile
E4 : durées en POO
Arbres
E1: Hauteur et taille d'un arbre
E2: parcours 1
E3: parcours 2
E4: Recherche dans un ABR
E5: Arbre binaire additif
E6: Arbre binaire de recherche
Diviser pour régner
E1 : sommet d'un tableau
E2 : Indice d'une panne
E3 : calcul d'une puissance
Sécurisation des communications
E1 : code César
E2 : Vigenre

carrés semi-magiques

Nous travaillons dans cet exercice sur des tableaux carrés d'entiers positifs.
Nous appelons « carré d'ordre n » un tableau de n lignes et n colonnes dont chaque case contient un entier positif.
Un carré est dit « semi-magique » lorsque les sommes des éléments situés sur chaque ligne, chaque colonne sont égales. Cette somme est appelée constante magique ou densité du carré semi-magique.

1 7
7 1
Ce carré est semi-magique car la somme de chaque ligne et de chaque colonne est égale à 8.
3 4 5
4 4 4
5 4 3
Ce carré est semi-magique car la somme de chaque ligne et de chaque colonne est égale à 12.
2 9 4
7 0 3
6 1 8
Ce carré n'est pas semi-magique car la somme de la première ligne est égale à 15 alors que celle de la deuxième ligne est égale à 10.

La classe Carre ci-après contient des méthodes qui permettent de manipuler des carrés.

  • La méthode __init__ permet de créer un carré sous forme d'un tableau à deux dimensions à partir d'un p-uplet d'entiers nombres. Nous remarquons que l'ordre du carré créé est la racine carrée de la longueur du p-uplet passé en paramètre. Par exemple avec un p-uplet de taille 4, on crée un carré d'ordre 2, avec un de taille 9, un carré d'ordre 3.
    par exemple le derneir carré de l'exemple sera créer à partie du tuple (2, 9, 4, 7, 0, 3, 6, 1, 8)
  • La méthode affiche permet d'afficher le carré créé.
  • La méthode somme_ligne prend en paramètre un entier i et renvoie la somme des éléments de la ligne i du carré.
  • La méthode somme_colonne prend en paramètre un entier j et renvoie la somme des éléments de la colonne j du carré.
  • La méthode est_semi_magique renvoie True si le carré est semi magique, False sinon.

Compléter le code ci-dessous

source : https://codex.forge.apps.education.fr