Dictionnaire de valeurs extrêmes⚓︎

Écrire une fonction extremes qui prend en paramètre un tableau valeurs de nombres a priori non triés, et qui renvoie la plus petite ainsi que la plus grande valeur du tableau sous la forme d'un dictionnaire à deux clés 'min' et 'max'.

Si le tableau est vide, les extrêmes n'existent pas ; on utilisera alors None pour chacun.

Contrainte

On n'utilisera pas les fonctions min, max, sort, sorted fournies par le langage.

Exemples
>>> valeurs = [0, 1, 4, 2, -2, 9, 3, 1, 7, 1]
>>> resultat = extremes(valeurs)
>>> resultat
{'min': -2, 'max': 9}
>>> valeurs = [37, 37]
>>> resultat = extremes(valeurs)
>>> resultat
{'min': 37, 'max': 37}
>>> valeurs = []
>>> resultat = extremes(valeurs)
>>> resultat
{'min': None, 'max': None}
###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
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
.128013[(lbsS]etxph4rd;5f1890uma"ovw7g,/3=in{ 6k:)y }q2PcN030j0c0d0t0E07090N0S070t09090D0u0d0E0f0u020H03090r0s0s0t0i0M020a0v070r0-0v0F030B0@0_0{0}0=0f02031d161g0B1d0=0j0E0w0$0'0)0+0g0E0z0g071u0g0d0:030X08070c1p0(0*0u1t1v1x1v0d1D1F1B0d0i1e0d0g0$10090f0t0F0+0Q0u1H1r0u0m0Z0c0F0t0s0c1B1!1$1*1J1-1F1:1=0:040N0R0i0v0f0v090E130F0N0V1Y0i0i0c0S2a161^0F1e0B1W2n1T1V1U1C0j1`0+1x0F1/271B1m1o0%1I2x0E2z0F0v2D1B0f2g1e2l2n2R0?1#2b2F1+2K0i0`070:0N0n2k2V0;2U1_2X1J2Z2#2%0Q2)1$2+2l2w0u2:0t2$020N0C2@2m0=2`2.0+2}2 0N0h332_2V2{392%0l3d353f372|0v2!2~2%0I3k2,2W1q2/3p2;300y3u363x383z3r300o3D3m3F3o3q3a0p3L2-3N3h020n0q3S3w2G3O3A0n2(172*3l3T3#3V0n2?3)2^1h2P162D2q0j1V2v3n0S2L1?1e3_1f3@2T3;2m033 0V2Q3M3#0J0:0V0m3d0N3v3g0m0:0c0e1T0c1=093d4l3n0/02064v3E3-0:0w2~0c0r0i4u474c3,1+4y0L0K3k0N4T4k4C1+4f020E4i4L4V4d2Y4E4G4I4K2R4%4N1J0v0:0D0D4j4w3N4y050b4R4L0H4U514.3!4X0:2g0d4I154$4_3#4y0G4B4'1J091(02000P0r0v0d0k0s2I5m5o5q5g4/0+4y4~4-5c4X0S0:0T140c5x541J4y0A4^4W5i5k5u5p5r0t0e5T5w4L5D5M0:5B2*532{0J5F025H2z5K2{4y0O4S4U5#0+4Y0c0!5J5!5Q5z5%5@525)3n0F0:5s0F0E5P5h0+4;024@5b602|4)1F4+5:4x0:056o3N5s0:3Y5 6d0u4y0b63525_6k020`0e6b6i6y6f6h5C6j67024F6m4J6s5d6q6V1+6u026w2T6j6A6C516E4Y0m3p6c5y6F0e6/5L6e0x0:2I6?3g6l4H6U6x6:5A6)64653N4Y4!6|660:6=6K6:6f00075Z6O6y6Q696J6%6y734 757t764D6G2I7o5(6E6M7a3U7c74646+6`4#7k6:6Q7d7L6@0u7g0z7j7A6P685W7z3=6'627s7u7H7W6G7Y7D3#7C7e7Q7N7G7v550257597,4O0:5f717Q5j0:5Y5r5t5n5U6Y5$025'2^7?2/687y8861025O7/2{815l865q6H838h6z7$7P6}7*6I8t5=3u0B4a0c2n2O8F3^1n3`2q2t2o0t1E8I0B3_0=8S0W0Y0!02.