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

.128013e_kySol2p]1h=mg4)dsi,vnP +/(bf6u.r:53[ac-wt050s0b0R0N0u0h0t0z0O0h0N0t0t0n010R0u0j010406050t0G0o0o0N0I0e040f0g0h0G0,0g0x050B0?0^0`0|0;0j04051c151f0B1c0;0s0u0w0!0$0(0*0$0x0p0G0N0p0b0P0j0e0R0m130z0m0u0p0m0h1H0m0R0/050V0D0h0b1o0%0)011G1I1K1I0R1Q1S1O0R0I1d1C0!0 0t0j0N0x0*0i011U1q010E0X0b0x0N0o0b1O1:1=1`1W1}1S20220/0a0z0y0I0g0j0g0t0u120x0z0T1.0I0I0b0O2n15250x1d0B1C2A1*1,1+1P0s271r0u0x1 2k1O1l1n0#1V2K2M0x0g2Q1O0j2t1d2y2A2%0=1;2o2S1{2W0I0_0h1O0N1F2t0E0*030c0c0O2X0b1K2V0g0P0l350/0l150N2(2+0:2*262-1W2/2;2?2^0b2`012|2~30322N350P1^040i3a3c1=3e2y2J013j0N2=1d2@0m2_2{2}2 0T3t2W3v0L0/0L3A2x3d0;3E3h0*3H3J053L3N3p3P3s2L3u360q0/0q3Y163!3f2,1p3i0g2:3I3l3M3n3O3r3R3;3T360K0/0K3`2%3#2+3F3)443-3q3Q314a34360F0/0F4g3d1g2#152Q2D0s1,2I3%014p2P1m1d2!0b2$4y3{3C054p4P260u0s0*2}2y3v0l3l4X4Z484q334$1_2b0b4*4p3S4s372A3b3}3F0d0/0T0E3Z4S3$3 0*0Q0/0z522z4|4H0x0E0/2 0G0j1S0t3r0x0t2u110u0E0t5a4V3~2T010.040C5u5c553G0/1Q5C545x5z0r0J5u0;4R5b3E4)014!2+3v3x3+0z5T3/494-361^0z4:4=3:5(3w1O0B3b0z5@595J2.0/0t0 5q135u5_4j4H0g0/0n615D5K0/0M0k5O5I4j5#0c4#363V3K5!4Y5U4+4@3U4/214;6p4?4r6s4`045^623g5E4~040E41685`3i0/0u6K635E0g57042L6P6E5x0x0D0/0I1=1x6f6X1{5z5B5Q5v4k6!042a6)5w6+0/6-2)6L3(5G0N0D6@3F5L6W6^1W65040P753F0o0u38724H5L5N6.5P6|6g6o5V1=3v3@6m6h6x5/3@5+6u5-5%3=0P7s3A6C6C691{6G5r7b5d6 716.7I1W5z0M7g5E0x6N7V6a046d6.6D760*780A7M5E7d7f7%7R7*66677;6}5F045H7Q7`7T7Z5{6U7-5x7+841{7/04397~6Q7!0k7j4h726h6j0P4d7t7o6q6y4c6t227A4,7C8m7F7G8z7=7{5}102w8c6*770/0H816M040N0j0j1 0s8L0*6,6{4y7`7X7|708T5y6b8$8Z6O8G7)8%7#0v878M7}7m8H8U8(8,4k7Y7_8d1{868~8^01898b8@8-5z0k0r0r6e8{8j5W4t4(8o7v7C4u7y8t6w5.9l5;5?5^8B6G2t0R0G0I14928-8Z8D5 9B8h7Q0B4U4z4O4B4L150R4E9Q2G2B701S2A4C5P0T0V0X0t04.