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
programmation dynamique
E1:Nombres de Delannoy
E2:Communication des acacias
E2:Mineur (le meilleur filon)

chiffres romains

On a la correspondance suivante qui sera implémentée en python sous forme d'un dictionnaire :
num = {'M' : 1000, 'D' : 500, 'C' : 100, 'L' : 50, 'X' : 10, 'V' : 5, 'I' : 1}
  • Si le premier chiffre d'un nombre romain a une valeur inférieure au deuxième, alors on le soustrait de la valeur de tout le reste, sinon on l'additionne à la valeur de tout le reste.
  • Si le nombre romain a un seul chiffre, alors on prend simplement la correspondance (M=1000, …).
  • Évidemment, pour calculer tout le reste, il faut appliquer à nouveau ce principe, ce qui rend ce principe récursif.
Écrire une fonction récursive romaintodec(chaine) qui retourne la valeur en décimal du chiffre romain passé en paramètre.