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

🐍 Console Python
>>> 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"
(Ctrl+Clic pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
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

.128013ldy1,4-]k/weibmc_:35aPr+ =o[f.gt26sSh)(punv050c0m0G0v0n0b0J0z0q0b0v0J0J0A010G0n0O010406050J0P0p0p0v0x0d040K0B0b0P0,0B0Q050k0?0^0`0|0;0O04051c151f0k1c0;0c0n0R0!0$0(0*0L0n0F0L0b1t0L0G0/050V0o0b0m1o0%0)011s1u1w1u0G1C1E1A0G0x1d0G0L0!0 0J0O0v0Q0*0H011G1q010D0X0m0Q0v0p0m1A1Z1#1*1I1-1E1:1=0/0a0z0w0x0B0O0B0J0n120Q0z0T1X0x0x0m0q2a151^0Q1d0k1V2n1S1U1T1B0c1`0*1w0Q1/271A1l1n0#1H2x0n2z0Q0B2D1A0O2g1d2l2n2R0=1!2b2F1+2K0x0_0b0/0e2k2V0:2U1_2X1I2Z2#0/0H2)1#2+2l2w012:0v2$040t2@2m0;2`2.0*2}2 0g322_2V2{380/0u3b343d362|0B2!2~0/0I3b1g2P152D2q0c1U2v3l0q2L1?1d3w1e3u2T162*053C0T2Q3k1p1I0j0/0T0D3b0z2,2W3R370D0/3C0P0O1E0J0r3C0Q0J2h110n0D0J3s353#010.040N3`3Q2G2|0/1C412-3|3~0M0s3i0z4e3Y3{430Q0/0J0 3?133X3Z2{0B0/0A4p4h1+3~0C0i4d4f4q3l3T040D3n4v422Y0/0n4J48430B0l4M143K2^4g4K2/0o0/0x1#0F0m473!433~404V2m4D3|0Q4!041}4*2{4-4`3l4j04464/3P4P4x0/0M4O4+1+4s040h582{0p0n2%4}49564c52064f5p4X543S4M3W525r592/450v0o5j4,0/0C5D4L044N524;5E044A5w5M5a0/0y5e3l5g5i5Q4w1I5b0A4u5Z4Y375A5C5L5!0*4y5H5z5J5V3|5b5U5)5s0*5X042(5.5*3}0/0i5m2R5o5q6a5R5?4l102j625}015b0E5=5+040v0O0O1/0c6m643 4.2T5/44505B6u5;6h5y6n5K6y633~0i0f5^4i5,6D5F6u4 6I2*5x4r5T6O1+5 616J6i6L0M575n5p6c0*4F2g0G0P0x4U2R6X4~4k4m6g68153N0m2n2O733v1m3x2q2t2o5B1E2n3w0;0k0T0V0X0J04.