Bonjour à tous,
J'ai actuellement un "formulaire" de gestion des paramètres d'affichage de courbes. Je souhaite contrôler les valeur entrées par l'utilisateur et vu le nombre de paramètres je comptais créer une fonction dédiée qui sélectionne la vérification à effectuer suivant le nom du paramètre concerné.
Ex : ymin et ymax doivent être des int ; color doit appartenir à la liste des couleur ; line_style doit appartenir à la liste des style de ligne etc... etc..
Je m’apprêtais donc à construire quelques chose du genre
Mais je n'ai rien trouvé de ce genre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 select case: case "ymin": .... case "ymax": .... case "color": ....
J'ai à plusieurs reprises trouvé (sur internet) une solution à base de dictionnaire
qui semble simple et élégante, mais je n'ai pas réussi à créer une fonction qui intègre ce principe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 choices = {'a': 1, 'b': 2} result = choices.get(key, 'default')
Je voulais passer le nom du paramètre en clé et la valeur à contrôler. L'idée étant que le nom appel la fonction interne associée.
J'ai fais ce bout de code histoire de comprendre le fonctionnement, et ça semblait pouvoir fonctionner, sauf que ça exécute toutes les fonctions à suivre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 """ """ import pdb def switch_cases(name, value): """ Check data conformity """ def ymin(value): try: value = int(value) print (value) except Exception as e: raise e def ymax(value): try: value = int(value) print (value) except Exception as e: raise e choices = {'ymin' : ymin(value), 'ymax' : ymax(value)} result = choices.get(name, 'default') print(result) pdb.set_trace() # Test avec ymin et 10 switch_cases('ymin', 10)
Vos conseils sont les bienvenus sur la solution à base de dictionnaire ou sur la validation de données au sens large...![]()
Partager