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

.128013w4h)1(+5-,_s3u:/S[ bn=veim.tP]6p2drgylckfao050I0y0C0Q0z0M0m0t0N0M0Q0m0m0w010C0z0G010406050m0o0A0A0Q0J0L040r0R0M0o0,0R0v050q0?0^0`0|0;0G04051c151f0q1c0;0I0z0x0!0$0(0*0$0v0K0o0Q0K0y0j0G0L0C0d130t0d0z0K0d0M1H0d0C0/050V0u0M0y1o0%0)011G1I1K1I0C1Q1S1O0C0J1d1C0!0 0m0G0Q0v0*0H011U1q010P0X0y0v0Q0A0y1O1:1=1`1W1}1S20220/0a0t0D0J0R0G0R0m0z120v0t0T1.0J0J0y0N2n15250v1d0q1C2A1*1,1+1P0I271r0z0v1 2k1O1l1n0#1V2K2M0v0R2Q1O0G2t1d2y2A2%0=1;2o2S1{2W0J0_0M1O0Q1F2t0P0*030l0l0N2X0y1K2V0R0j0f350/0f150Q2(2+0:2*262-1W2/2;2?2^0y2`012|2~30322N350j1^040H3a3c1=3e2y2J013j0Q2=1d2@0d2_2{2}2 0T3t2W3v0n0/0n3A2x3d0;3E3h0*3H3J053L3N3p3P3s2L3u360c0/0c3Y163!3f2,1p3i0R2:3I3l3M3n3O3r3R3;3T360i0/0i3`2%3#2+3F3)443-3q3Q314a34360F0/0F4g3d1g2#152Q2D0I1,2I3%014p2P1m1d2!0y2$4y3{3C054p4P260z0I0*2}2y3v0f3l4X4Z484q334$1_2b0y4*4p3S4s372A3b3}3F0O0/0T0P3Z4S3$3 0*0b0/0t522z4|4H0v0P0/2 0o0G1S0m3r0v0m2u110z0P0m5a4V3~2T010.040g5u5c553G0/1Q5C545x5z0e0p5u0;4R5b3E4)014!2+3v3x3+0t5T3/494-361^0t4:4=3:5(3w1O0q3b0t5@595J2.0/0m0 5q135u5_4j4H0R0/0w615D5K0/0s0E5O5I4j5#0l4#363V3K5!4Y5U4+4@3U4/214;6p4?4r6s4`045^623g5E4~040P41685`3i0/0z6K635E0R57042L6P6E5x0v0u0/0J1=1x6f6X1{5z5B5Q5v4k6!042a6)5w6+0/6-2)6L3(5G0Q0u6@3F5L6W6^1W65040j753F0A0z38724H5L5N6.5P6|6g6o5V1=3v3@6m6h6x5/3@5+6u5-5%3=0j7s3A6C6C691{6G5r7b5d6 716.7I1W5z0s7g5E0v6N7V6a046d6.6D760*780h7M5E7d7f7%7R7*66677;6}5F045H7Q7`7T7Z5{6U7-5x7+841{7/04397~6Q7!0E7j4h726h6j0j4d7t7o6q6y4c6t227A4,7C8m7F7G8z7=7{5}102w8c6*770/0B816M040Q0G0G1 0I8L0*6,6{4y7`7X7|708T5y6b8$8Z6O8G7)8%7#0k878M7}7m8H8U8(8,4k7Y7_8d1{868~8^01898b8@8-5z0E0e0e6e8{8j5W4t4(8o7v7C4u7y8t6w5.9l5;5?5^8B6G2t0C0o0J14928-8Z8D5 9B8h7Q0q4U4z4O4B4L150C4E9Q2G2B701S2A4C5P0T0V0X0m04.