Avancé
🧠 Fondamentaux
30 XP
0 personnes ont réussi
Match case sur des listes
Le pattern matching fonctionne aussi sur les listes, et c'est la que ca devient vraiment puissant. Tu peux matcher sur le contenu d'une liste et extraire des valeurs.
Par exemple, pour parser des commandes : match commande: case ['quit']: return 'Au revoir' case ['say', message]: return f'Tu dis : {message}' case ['go', direction]: return f'Tu vas vers {direction}'
Tu peux aussi utiliser *reste pour capturer un nombre variable d'éléments : case ['add', *nombres]: return sum(nombres)
Ici, *nombres capture tout ce qui suit 'add' dans une liste.
Écris une fonction exécuter(commande) qui prend une liste representant une commande et renvoie le résultat : ['help'] : 'Commandes : help, hello, add, repeat' ['hello', nom] : 'Bonjour nom !' ['add', *nombres] : la somme des nombres (qui sont des int) ['repeat', n, mot] : le mot repete n fois, separe par des espaces (n est un int) tout autre chose : 'Commande inconnue'