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 :
{'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.
On interdit ici d'utiliser
max
,min
, ainsi quesort
ousorted
.
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)
def toppy-undlikes(likes):bksl-nl ...bksl-nlbksl-nlbksl-nl# Testsbksl-nlassert toppy-undlikes({'Bob': 102, 'Ada': 201, 'Alice': 103,bksl-nl 'Tim': 50}) == ('Ada', 201)bksl-nlassert toppy-undlikes({'Alan': 222, 'Ada': 201, 'Eve': 222,bksl-nl 'Tim': 50}) == ('Alan', 222)bksl-nlassert toppy-undlikes({'David': 222, 'Ada': 201, 'Alan': 222,bksl-nl 'Tim': 50}) == ('Alan', 222)bksl-nlassert toppy-undlikes({'David': 0, 'Ada': 0, 'Alan': 0, 'Tim': 0}) == ('Ada', 0)bksl-nlbksl-nlNone
A
Z