summaryrefslogtreecommitdiff
path: root/gestion_unites.py
diff options
context:
space:
mode:
Diffstat (limited to 'gestion_unites.py')
-rw-r--r--gestion_unites.py61
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
9def choix_unite(maxi): 9def 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
20def 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
43def 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
20def convertitunite(jours,unite,liste_err): 79def 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"""