Exercices Fonctions & Modules IntEnum et comparaisons
🎉

Bravo!

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

IntEnum et comparaisons

Les Enum classiques ne supportent pas les comparaisons d'ordre (<, >, <=, >=). Si tu essaies Couleur.ROUGE < Couleur.BLEU, tu obtiens une erreur.

Pour avoir des enumerations comparables, Python fournit IntEnum dans le module enum. Les membres d'un IntEnum se comportent comme des entiers et supportent toutes les comparaisons.

from enum import IntEnum

class Niveau(IntEnum):
DEBUTANT = 1
INTERMEDIAIRE = 2
AVANCE = 3

Niveau.DEBUTANT < Niveau.AVANCE donne True

Écris une fonction peut_acceder(niveau_requis, niveau_utilisateur) qui prend deux membres d'un IntEnum NiveauAcces (PUBLIC=0, MEMBRE=1, PREMIUM=2, ADMIN=3) et renvoie True si le niveau de l'utilisateur est superieur ou egal au niveau requis.

Mais d'abord, crée cet IntEnum en dehors de la fonction (au niveau du module) pour qu'il soit accessible dans les tests.

Exemple :
peut_acceder(NiveauAcces.MEMBRE, NiveauAcces.PREMIUM) renvoie True
peut_acceder(NiveauAcces.ADMIN, NiveauAcces.MEMBRE) renvoie False

Tests (3/4)

Premium accede a Membre
assert peut_acceder(NiveauAcces.MEMBRE, NiveauAcces.PREMIUM) == True
Membre ne peut pas Admin
assert peut_acceder(NiveauAcces.ADMIN, NiveauAcces.MEMBRE) == False
Meme niveau
assert peut_acceder(NiveauAcces.PREMIUM, NiveauAcces.PREMIUM) == True

+ 0 tests cachés

Indices (3 disponibles)

solution.py