Aller au contenu

Double du précédent dans un tableau⚓︎

Écrire une fonction nombres_puis_double qui prend en paramètre un tableau de nombres entiers, et qui renvoie la liste (éventuellement vide) des couples d'entiers (a, b) qu'il peut y avoir dans le tableau tel que b suit a et b = 2 * a.

Exemples
🐍 Console Python
>>> nombres_puis_double([1, 4, 2, 5])
[]
>>> nombres_puis_double([1, 3, 6, 7])
[(3, 6)]
>>> nombres_puis_double([7, 1, 2, 5, 3, 6])
[(1, 2), (3, 6)]
>>> nombres_puis_double([5, 1, 2, 4, 8, -5, -10, 7])
[(1, 2), (2, 4), (4, 8), (-5, -10)]
###
# testsbksl-nlbksl-nlassert nombrespy-undpuispy-unddouble([1, 4, 2, 5]) == []bksl-nlassert nombrespy-undpuispy-unddouble([1, 3, 6, 7]) == [(3, 6)]bksl-nlassert nombrespy-undpuispy-unddouble([7, 1, 2, 5, 3, 6]) == [(1, 2), (3, 6)]bksl-nlassert nombrespy-undpuispy-unddouble([5, 1, 2, 4, 8, -5, -10, 7]) == [bksl-nl (1, 2),bksl-nl (2, 4),bksl-nl (4, 8),bksl-nl (-5, -10),bksl-nl]bksl-nlbksl-nlbksl-nl# autres testsbksl-nlassert nombrespy-undpuispy-unddouble([10, 4, 2, 5]) == [], "Attention aux indices"bksl-nlbksl-nl 5/5

def nombrespy-undpuispy-unddouble(valeurs):bksl-nl ...bksl-nlbksl-nlbksl-nl# testsbksl-nlbksl-nlassert nombrespy-undpuispy-unddouble([1, 4, 2, 5]) == []bksl-nlassert nombrespy-undpuispy-unddouble([1, 3, 6, 7]) == [(3, 6)]bksl-nlassert nombrespy-undpuispy-unddouble([7, 1, 2, 5, 3, 6]) == [(1, 2), (3, 6)]bksl-nlassert nombrespy-undpuispy-unddouble([5, 1, 2, 4, 8, -5, -10, 7]) == [bksl-nl (1, 2),bksl-nl (2, 4),bksl-nl (4, 8),bksl-nl (-5, -10),bksl-nl]bksl-nlbksl-nldef nombrespy-undpuispy-unddouble(valeurs):bksl-nl resultat = []bksl-nl for i in range(1, len(valeurs)):bksl-nl if valeurs[i] == valeurs[i - 1] py-str 2:bksl-nl resultat.append((valeurs[i - 1], valeurs[i]))bksl-nl return resultatbksl-nlbksl-nl

A

Z