Couples consécutifs

Écrire une fonction couples_consecutifs qui prend en paramètre un tableau de nombres entiers tab non vide (type list), et qui renvoie la liste Python (éventuellement vide) des couples d'entiers consécutifs successifs qu'il peut y avoir dans tab.

Exemples

Python Console Session
>>> 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)]
Compléter le code ci-dessous

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : 5/5

.128013kg[: r)S/(.lo4y,6b=ac1+5ud3t2_Pwevp-fhmn]is050A0H0C0u0Q0m0R0f0v0m0u0R0R0t010C0Q0J010406050R0z0N0N0u0g0p040i0n0m0z0,0n0O050j0?0^0`0|0;0J04051c151f0j1c0;0A0Q0I0!0$0(0*0$0O0c0z0u0c0H0K0J0p0C0M130f0M0Q0c0M0m1H0M0C0/050V0s0m0H1o0%0)011G1I1K1I0C1Q1S1O0C0g1d1C0!0 0R0J0u0O0*0D011U1q010L0X0H0O0u0N0H1O1:1=1`1W1}1S20220/0a0f0F0g0n0J0n0R0Q120O0f0T1.0g0g0H0v2n15250O1d0j1C2A1*1,1+1P0A271r0Q0O1 2k1O1l1n0#1V2K2M0O0n2Q1O0J2t1d2y2A2%0=1;2o2S1{2W0g0_0m1O0u1F2t0L0*030E0E0v2X0H1K2V0n0K0w350/0w150u2(2+0:2*262-1W2/2;2?2^0H2`012|2~30322N350K1^040D3a3c1=3e2y2J013j0u2=1d2@0M2_2{2}2 0T3t2W3v0B0/0B3A2x3d0;3E3h0*3H3J053L3N3p3P3s2L3u360o0/0o3Y163!3f2,1p3i0n2:3I3l3M3n3O3r3R3;3T360y0/0y3`2%3#2+3F3)443-3q3Q314a34360r0/0r4g3d1g2#152Q2D0A1,2I3%014p2P1m1d2!0H2$4y3{3C054p4P260Q0A0*2}2y3v0w3l4X4Z484q334$1_2b0H4*4p3S4s372A3b3}3F0b0/0T0L3Z3C0f4|4H0O0L0/2 0z0J1S0R3r0O0R2u110Q0L0R522z553 0*0.040k5n4V3~2T3G0/1Q5v5p5y5s0h0e5v0;4R5o3E4)014!2+3v3x3+0f5N3/494-361^0f4:4=3:5Y3w1O0j3b0f5.543$5q5z040R0 5j135v5:4j4H0n0/0t5|5D1{5s0d0P5I5C5M4Y5O0E4#363V3K5U6c5W4,3=0K3V5#214;6d4?4r3U5+5-5/641W4~040L41635;5y0O0/0Q6G5~5=0n0G6K145K045}3g5=0O0s0/0g1=1x6a6N5E0/5u6T6A3(6Z042a6(6W6*5t6?5x2.5A0u0s6`3F5F6M6@1{60040K736{1W0N0Q38704H5F5H6T5J2)6b4*6f0K3@6i5V4+4@3v3@6q225%5X6n7q3A5/7E6V7a0*6C5k794k6}6 6-6H650/0d7f6X6K7U6^686T7G3F760x7L4H7c7e7!6.01760t627-7Q3i7N7X7R047T7P6)6|046L7?7 1W7%7)5=7+04397~741W5s0P7i4h707s7o4d7r6k7t6v4c4/6r7z6m4b0K8m7D7F8A7.6J5@5_2w8c7H7/0/0l7`7^040u0J0J1 0A8M5r6+6,7l843(7_8H717S8U5?828Y8d8V040P0q876I8#8,8I668)8D8+3d7#5 0/7(838-01898b8^8%8/0h0h698$8k5Q4t4(8o6u5)4u7x6s6l7u9h4`6U6z7@7I6!0U0z0g6S2%8 7V8E108G8i6-0j4U4z4O4B4L150C4E9Q2G2B6~1S2A4C5J0T0V0X0R04.