Top-Likes !

Sur le réseau social TipTop, on s'intéresse au nombre de « like » des abonnés. Les données sont stockées dans un dictionnaire où les clés sont les pseudos et les valeurs correspondantes sont les nombres de « like » comme ci-dessous :

🐍 Script Python
{'Bob': 102, 'Ada': 201, 'Alice': 103, 'Tim': 50}

Écrire une fonction top_likes qui :

  • prend en paramètre un dictionnaire likes non-vide dont les clés sont des chaines de caractères et les valeurs associées des entiers positifs ou nuls,

  • renvoie un tuple dont :

    • la première valeur est la clé du dictionnaire associée à la valeur maximale ; en cas d'égalité sur plusieurs clés, on choisira la plus petite suivant un classement alphabétique,
    • la seconde valeur est la valeur maximale présente dans le dictionnaire.
Contraintes

On interdit ici d'utiliser max, min, ainsi que sort ou sorted.

Exemples
>>> top_likes({'Bob': 102, 'Ada': 201, 'Alice': 103, 'Tim': 50})
('Ada', 201)
>>> top_likes({'Alan': 222, 'Ada': 201, 'Eve': 222, 'Tim': 50})
('Alan', 222)
>>> top_likes({'David': 222, 'Ada': 201, 'Alan': 222, 'Tim': 50})
('Alan', 222)
>>> top_likes({'David': 0, 'Ada': 0, 'Alan': 0, 'Tim': 0})
('Ada', 0)
###(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 : 10/10
.128013à«[3è4.»nx/R8p)IL0hv7c256g9f=buS-,_l(wOaPké;:ors1qmyd]ji te050#0+0*0O0(0K0W0)0w0K0O0W0W0D010*0(0o010406050W0F0Z0Z0O0V0!040G0U0K0F0 0U0j0)020O0Z0o0S0)0m0+190V0Y0F0+0W050l16181a1c140o041A1H051K0l1K1M1H140#0(0u0@0_0{0}0t0(0A0t0K1!0t0*12050/0E0K0+1V0`0|011Z1#1%1#0*1-1/1+0*0E0U0#1c1,0V1I0*0t0@1f0W0o0O0j0}0x011;1X010C0;0+0j1n0+1+2c2e2j1?2m1/2p0Z2r040a0)0P0V0U0o0U0W0(1i1k0-2a0V0V0+0w2M1A2t0j1I0l282Y0*2625270#2v0}1%0j2o2J1+1S1U0^1=2,0(2.0j221T1+0o2R1I2W2Y33152d1k2@2k2|0V190K120)0X2V3713362u391?3b3d3f0x3i2e3k2W2+013p0O3e040)0e3t2X143w3n0}3z3B0)0g3F3v373x3L3f0y3P3H3R3J3y0U3c3A3f0z3W3l381W3o3#3q3C0v3*3I3-3K3/3%3C0n3?3Y3^3!3$3M0B3~3m403T040X0s3P1J311A2=2#0#2)3x0w222B0,1T1I300+323j4c4l0-4t462^010Q120-0C4c3@4A0M3f4G3 4A0j0C120*2H0J1%0Q1y4L4z2k11040L4X3,4N124U4W1B4u4H4Z120p0T3W0)4^0)3+3S12190k0J0o0W0+0F0#0U3P4`4/1?0U120D574{3Z0W2h0401014@4_5f474}0O4 4+1z4-3u584M2k5b045d5v2X5x4Y5a120H4%3x0Z0(123h5D134_5F4(2k4C040C3#5e593K125153555!5y5a4J042`5+5G5$045t5K3Z4!4?5Q065S5S5o4A5W0(4F5Q5T4|5@0(4V5u355#014!0d5_5p045(54565Q614:040$5;5U5H04020A0*0S6t684~4T6a4,6d5,0}5{5m5 5 6p3o5q4 6l5*666O0}5A5C33673Z0j5%526m6L6M5n6e6$046D5^6U6e6X6B6#4*6F6c4.6I6f126h6o6-6%5)6n6H5=6 6r6*606e5W0+1%656Z6V3y6`6b6i4A6g7n3a746)726~4!6s6=6~6X6Y3j6!6j6:6{6^400U5.2e0#7H4)6k6(6T7i6?12020K6z7N7r6/5r507Q766}786K5}6+6N737!6R7%7Y6v7B5w7j6.6S7(3u5~6,6~5W2R0*0F0V0j7?6J124$7u786.6D7|7q1?4!0I887k7:6E7m8c6u89040p3*0l4w4s4d8y0l4g1A0*4i8D2%2Z21232#0O1.8A4g1G4y8r012R0Z0J0C0O4V0J0t0e121s1u1w1y0)5|351N3k1H0q0K0)0W000O0A2L0)0#000F2.0)2R0w0t0+0V941:2O4~0(0Z170h0)0N1k2`2L0(3A0(520)1/0)7|0)0O0!2e0*9p1:0o1g0?2O0c4`1t694V1A9G0)0i0)0b4`8x5j5l8w4m3C0.9p0O0)0u1a9l8N9P9U7F8p9Q9N9(4x0H5P9Q9f9h9r2R0j2*0W0U2`8}0f0?0_9^1t0(0f2R0)2L0R0V0O2M8}1:a2210F0^991:8U9A0O0w960@8+9!1/850?2d0Var0K9q1=0U0w0(0R8+0O0Fa35Maq9s4l0j0*2oaJ0#2ea1990(2T0(1j2p0(2R0h1J8:040r3#9CaJax4lavae9r7%0W0I0)1j2a1o1aaf1:2|0Z0Ea79D9F0Z9H0+9Jb89L9t0{aDaF9-a2at53ayaO520V0uaG0)0%0F0W1w009O192`aQ2paP9f0G0(0)7f9q1y9x9Abua81o3#0/aP1:a|2A9x9O0%0U85bEbG1/0?b2b48+b6059G4+bb3C9M9|aP0)0R0AaI0ka`a|91bV9-bY850)8*8@b$00a|9YaI0{bG059Q9s7V6z0)8f7=9T4xa(8/148B0.0:0=04.