Ep 36
ⶠTélécharger le sujet en pdf.
EXERCICE 1âïž
Ăcrire une fonction couples_consecutifs
qui prend en paramĂštre une liste de nombres entiers tab
non vide, et qui renvoie la liste (éventuellement vide) des couples d'entiers consécutifs successifs qu'il peut y avoir dans tab
.
Exemples :
>>> couples_consecutifs([1, 4, 3, 5])
[]
>>> couples_consecutifs([1, 4, 5, 3])
[(4, 5)]
>>> couples_consecutifs([1, 1, 2, 4])
[(1, 2)]
>>> couples_consecutifs([7, 1, 2, 5, 3, 4])
[(1, 2), (3, 4)]
>>> couples_consecutifs([5, 1, 2, 3, 8, -5, -4, 7])
[(1, 2), (2, 3), (-5, -4)]
RĂ©ponse
Complétez le code ci-dessous
Solution
EXERCICE 2âïž
Soit une image binaire représentée dans un tableau à 2 dimensions. Les éléments
M[i][j]
, appelés pixels, sont égaux soit à 0
soit Ă 1
.
Une composante dâune image est un sous-ensemble de lâimage constituĂ© uniquement de
1
et de 0
qui sont cĂŽte Ă cĂŽte, soit horizontalement soit verticalement.
Par exemple, les composantes de sont
On souhaite, Ă partir dâun pixel Ă©gal Ă 1
dans une image M
, donner la valeur val
Ă tous
les pixels de la composante Ă laquelle appartient ce pixel.
La fonction propager
prend pour paramĂštre une image M
(représentée par une liste de
listes), deux entiers i
et j
et unevaleur entiĂšre val
. Elle met Ă la valeur val
tous les pixels de la composante du pixel
M[i][j]
sâil vaut 1
et ne fait rien sâil vaut 0
.
Par exemple, propager(M, 2, 1, 3)
donne
Compléter le code récursif de la fonction propager
donné ci-dessous :
RĂ©ponse
Complétez le code ci-dessous
Solution
Exemple :
>>> M = [[0, 0, 1, 0], [0, 1, 0, 1], [1, 1, 1, 0], [0, 1, 1, 0]]
>>> propager(M, 2, 1, 3)
>>> M
[[0, 0, 1, 0], [0, 3, 0, 1], [3, 3, 3, 0], [0, 3, 3, 0]]