Exercices Fonctions & Modules Top 3 des meilleurs scores
🎉

Bravo!

Intermédiaire 🧠 Fondamentaux 20 XP 0 personnes ont réussi

Top 3 des meilleurs scores

En combinant sorted() avec reverse=True et le slicing, tu peux facilement extraire les N meilleurs éléments d'une liste. C'est un besoin ultra-courant : classement de joueurs, top produits, meilleures notes, etc.

Rappel du slicing : liste[:3] te donne les 3 premiers éléments d'une liste.

Pour trier en ordre decroissant, ajoute reverse=True a sorted() :
sorted([5, 2, 8, 1], reverse=True) donne [8, 5, 2, 1]

Écris une fonction top_scores(joueurs, n) qui prend une liste de tuples (nom, score) et renvoie les n meilleurs joueurs, tries du meilleur au moins bon.

Exemple :
joueurs = [('Alice', 85), ('Bob', 92), ('Charlie', 78), ('Diana', 95)]
top_scores(joueurs, 2) renvoie [('Diana', 95), ('Bob', 92)]

Tests (3/4)

Top 2
joueurs = [('Alice', 85), ('Bob', 92), ('Charlie', 78), ('Diana', 95)]
assert top_scores(joueurs, 2) == [('Diana', 95), ('Bob', 92)]
Top 1
joueurs = [('Alice', 85), ('Bob', 92)]
assert top_scores(joueurs, 1) == [('Bob', 92)]
Tous
joueurs = [('Alice', 85), ('Bob', 92)]
assert top_scores(joueurs, 5) == [('Bob', 92), ('Alice', 85)]

+ 0 tests cachés

Indices (3 disponibles)

solution.py