Aller au contenu

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.

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

Exemples

🐍 Console Python
>>> 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)
###
# 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-nl# Tests supplémentairesbksl-nlassert toppy-undlikes({'David': 12, 'DaviD': 12, 'david': 12}) == ('DaviD', 12)bksl-nlassert toppy-undlikes({'David': 1, 'Charles': 2, 'Bertrand': 3}) == ('Bertrand', 3)bksl-nlassert toppy-undlikes({'David': 1, 'Bertrand': 3, 'Charles': 2}) == ('Bertrand', 3)bksl-nlassert toppy-undlikes({'David': 10, 'Bertrand': 3, 'Charles': 2}) == ('David', 10)bksl-nlassert toppy-undlikes({'David': 0, 'Ada': 0, 'Alan': 0, 'Tim': 0}) == ('Ada', 0)bksl-nlbksl-nl 5/5

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

Retour en haut de la page