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»uk /ixORP)j=h-a,1èn8«]fI.r6mc;pày72tl0qsebwS_L53(év:[4dg9o050(0Q0L0q0g0M0P0e0E0M0q0P0P0n010L0g0G010406050P0c0D0D0q0B0I040T0+0M0c0 0+0u0e020q0D0G0F0e0j0Q190B0O0c0Q0P050f16181a1c140G041A1H051K0f1K1M1H140(0g0!0@0_0{0}0o0g0)0o0M1!0o0L12050/0R0M0Q1V0`0|011Z1#1%1#0L1-1/1+0L0R0+0(1c1,0B1I0L0o0@1f0P0G0q0u0}0K011;1X010y0;0Q0u1n0Q1+2c2e2j1?2m1/2p0D2r040a0e0k0B0+0G0+0P0g1i1k0-2a0B0B0Q0E2M1A2t0u1I0f282Y0L2625270(2v0}1%0u2o2J1+1S1U0^1=2,0g2.0u221T1+0G2R1I2W2Y33152d1k2@2k2|0B190M120e0s2V3713362u391?3b3d3f0K3i2e3k2W2+013p0q3e040e0X3t2X143w3n0}3z3B0e0%3F3v373x3L3f0W3P3H3R3J3y0+3c3A3f0C3W3l381W3o3#3q3C0J3*3I3-3K3/3%3C0v3?3Y3^3!3$3M0*3~3m403T040s0N3P1J311A2=2#0(2)3x0E222B0,1T1I300Q323j4c4l0-4t462^010d120-0y4c3@4A0S3f4G3 4A0u0y120L2H0U1%0d1y4L4z2k11040Y4X3,4N124U4W1B4u4H4Z120l0#3W0e4^0e3+3S12190h0U0G0P0Q0c0(0+3P4`4/1?0+120n574{3Z0P2h0401014@4_5f474}0q4 4+1z4-3u584M2k5b045d5v2X5x4Y5a120p4%3x0D0g123h5D134_5F4(2k4C040y3#5e593K125153555!5y5a4J042`5+5G5$045t5K3Z4!4?5Q065S5S5o4A5W0g4F5Q5T4|5@0g4V5u355#014!0$5_5p045(54565Q614:040x5;5U5H04020)0L0F6t684~4T6a4,6d5,0}5{5m5 5 6p3o5q4 6l5*666O0}5A5C33673Z0u5%526m6L6M5n6e6$046D5^6U6e6X6B6#4*6F6c4.6I6f126h6o6-6%5)6n6H5=6 6r6*606e5W0Q1%656Z6V3y6`6b6i4A6g7n3a746)726~4!6s6=6~6X6Y3j6!6j6:6{6^400+5.2e0(7H4)6k6(6T7i6?12020M6z7N7r6/5r507Q766}786K5}6+6N737!6R7%7Y6v7B5w7j6.6S7(3u5~6,6~5W2R0L0c0B0u7?6J124$7u786.6D7|7q1?4!0r887k7:6E7m8c6u89040l3*0f4w4s4d8y0f4g1A0L4i8D2%2Z21232#0q1.8A4g1G4y8r012R0D0U0y0q4V0U0o0X121s1u1w1y0e5|351N3k1H0z0M0e0P000q0)2L0e0(000c2.0e2R0E0o0Q0B941:2O4~0g0D170A0e0i1k2`2L0g3A0g520e1/0e7|0e0q0I2e0L9p1:0G1g0?2O0w4`1t694V1A9G0e0b0e0H4`8x5j5l8w4m3C0.9p0q0e0!1a9l8N9P9U7F8p9Q9N9(4x0p5P9Q9f9h9r2R0u2*0P0+2`8}0t0?0_9^1t0g0t2R0e2L0Z0B0q2M8}1:a2210c0^991:8U9A0q0E960@8+9!1/850?2d0Bar0M9q1=0+0E0g0Z8+0q0ca35Maq9s4l0u0L2oaJ0(2ea1990g2T0g1j2p0g2R0A1J8:040V3#9CaJax4lavae9r7%0P0r0e1j2a1o1aaf1:2|0D0Ra79D9F0D9H0Q9Jb89L9t0{aDaF9-a2at53ayaO520B0!aG0e0m0c0P1w009O192`aQ2paP9f0T0g0e7f9q1y9x9Abua81o3#0/aP1:a|2A9x9O0m0+85bEbG1/0?b2b48+b6059G4+bb3C9M9|aP0e0Z0)aI0ha`a|91bV9-bY850e8*8@b$00a|9YaI0{bG059Q9s7V6z0e8f7=9T4xa(8/148B0.0:0=04.