diff options
Diffstat (limited to 'gestion_unites.py')
-rw-r--r-- | gestion_unites.py | 61 |
1 files changed, 60 insertions, 1 deletions
diff --git a/gestion_unites.py b/gestion_unites.py index 8fcb1ad..b97d90b 100644 --- a/gestion_unites.py +++ b/gestion_unites.py | |||
@@ -7,7 +7,7 @@ from gestion_erreurs import * | |||
7 | ##################### outils pour affichage et choix de l'unité | 7 | ##################### outils pour affichage et choix de l'unité |
8 | 8 | ||
9 | def choix_unite(maxi): | 9 | def choix_unite(maxi): |
10 | """ en fonction de l'âge maxi, on choisit une unité pertinente : jours, mois, année""" | 10 | """ en fonction de l'âge maxi, on choisit une unité pertinente : jours, semaine, mois, année""" |
11 | if maxi<40: | 11 | if maxi<40: |
12 | return "jours" | 12 | return "jours" |
13 | elif maxi <100: | 13 | elif maxi <100: |
@@ -17,6 +17,65 @@ def choix_unite(maxi): | |||
17 | else: | 17 | else: |
18 | return "années" | 18 | return "années" |
19 | 19 | ||
20 | def choix_echelle_data(typedonnees, donneemax): | ||
21 | """ en fonction du type de données et du maxi (on suppose qu'on part à 0), | ||
22 | on choisit un intervalle raisonnable | ||
23 | On renvoie le couple des pas (majeur, mineur) | ||
24 | (0,0) en cas de problème avec le typedonnnes """ | ||
25 | |||
26 | if typedonnees not in CONFIG["liste_typedonnees"]: | ||
27 | print("Type de données non valide : "+typedonnees) | ||
28 | return (0,0) | ||
29 | |||
30 | if typedonnees == "poids": | ||
31 | if donneemax>15: | ||
32 | return (5,1) | ||
33 | elif donneemax > 10: | ||
34 | return (2,1) | ||
35 | else: | ||
36 | return (1,0.2) | ||
37 | if typedonnees == "taille": | ||
38 | if donneemax>100: | ||
39 | return (10,2) | ||
40 | else: | ||
41 | return (5,1) | ||
42 | |||
43 | def choix_echelle_temps(unite, tempsmaxi): | ||
44 | """ en fonction de l'unité voulue et du temps maximal (donné dans l'unité), | ||
45 | on choisit un intervalle raisonnable entre les pas. | ||
46 | On renvoie le couple des pas (majeur, mineur). | ||
47 | (0,0) en cas de problème avec l'unité | ||
48 | On met 0 en 2e arg si pas de grille secondaire""" | ||
49 | if unite not in CONFIG["liste_unites"]: | ||
50 | print("Unité non valide ! "+unite) | ||
51 | return (0,0) | ||
52 | |||
53 | if unite=="jours": | ||
54 | if tempsmaxi > 60: # pourquoi mettre en jours ? | ||
55 | return (30,1) | ||
56 | elif tempsmaxi >20: | ||
57 | return (7,1) | ||
58 | else: | ||
59 | return (1,0) | ||
60 | if unite=="semaines": | ||
61 | if tempsmaxi >50: | ||
62 | return (5,1) | ||
63 | elif tempsmaxi > 15: | ||
64 | return (2,1) | ||
65 | else: | ||
66 | return (1,1/7) # On met en jours | ||
67 | |||
68 | if unite=="mois": | ||
69 | if tempsmaxi > 30: | ||
70 | return (2,1) | ||
71 | elif tempsmaxi > 10: | ||
72 | return (1,0) | ||
73 | else: | ||
74 | return (1,0.25) # on met en semaines | ||
75 | |||
76 | if unite=="années": | ||
77 | return (1,1/12) # années / mois | ||
78 | |||
20 | def convertitunite(jours,unite,liste_err): | 79 | def convertitunite(jours,unite,liste_err): |
21 | """ convertit des jours à l'unité voulue | 80 | """ convertit des jours à l'unité voulue |
22 | renvoie des float""" | 81 | renvoie des float""" |