Ep 07
ⶠTélécharger le sujet en pdf.
EXERCICE 1âïž
Programmer la fonction fusion
prenant en paramĂštres deux tableaux non vides tab1
et tab2
(type list
) d'entiers, chacun dans lâordre croissant, et renvoyant un tableau triĂ© dans lâordre
croissant et contenant lâensemble des valeurs de tab1
et tab2
.
Exemples :
>>> fusion([3, 5], [2, 5])
[2, 3, 5, 5]
>>> fusion([-2, 4], [-3, 5, 10])
[-3, -2, 4, 5, 10]
>>> fusion([4], [2, 6])
[2, 4, 6]
RĂ©ponse
Complétez le code ci-dessous
Solution
EXERCICE 2âïž
Le but de cet exercice est dâĂ©crire une fonction rĂ©cursive traduire_romain
qui prend en paramÚtre une chaßne de caractÚres, non vide, représentant un nombre écrit en
chiffres romains et qui renvoie son écriture décimale.
Les chiffres romains considérés sont : I, V, X, L, C, D et M. Ils représentent respectivement les nombres 1, 5, 10, 50, 100, 500, et 1000 en base dix.
On dispose dâun dictionnaire romains
dont les clĂ©s sont les caractĂšres apparaissant dans lâĂ©criture en chiffres romains et les valeurs sont les nombres entiers associĂ©s en
écriture décimale :
romains = {"I":1, "V":5, "X":10, "L":50, "C":100, "D":500, "M":1000}
Le code de la fonction traduire_romain
fournie repose sur le principe suivant :
-
la valeur dâun caractĂšre est ajoutĂ©e Ă la valeur du reste de la chaĂźne si ce caractĂšre a une valeur supĂ©rieure (ou Ă©gale) Ă celle du caractĂšre qui le suit ;
-
la valeur dâun caractĂšre est retranchĂ©e Ă la valeur du reste de la chaĂźne si ce caractĂšre a une valeur strictement infĂ©rieure Ă celle du caractĂšre qui le suit.
Ainsi, XIV correspond au nombre 10 + 5 - 1 puisque :
-
la valeur de X (10) est supĂ©rieure Ă celle de I (1), on ajoute donc 10 Ă la valeur du reste de la chaĂźne, câest-Ă -dire IV ;
-
la valeur de I (1) est strictement infĂ©rieure Ă celle de V (5), on soustrait donc 1 Ă la valeur du reste de la chaĂźne, câest-Ă -dire V.
On rappelle que pour priver une chaĂźne de caractĂšres de son premier caractĂšre, on utilisera lâinstruction :
nom_de_variable[1:]
Par exemple, si la variable mot
contient la chaĂźne "CDI"
, mot[1:]
renvoie "DI"
.
Compléter le code de la fonction traduire_romain et le tester.
Exemples :
đ Script Python | |
---|---|
1 2 3 4 5 6 |
|
RĂ©ponse
Complétez le code ci-dessous