##################### outils pour affichage et choix de l'unité
def choix_unite(maxi):
- """ en fonction de l'âge maxi, on choisit une unité pertinente : jours, mois, année"""
+ """ en fonction de l'âge maxi, on choisit une unité pertinente : jours, semaine, mois, année"""
if maxi<40:
return "jours"
elif maxi <100:
else:
return "années"
+def choix_echelle_data(typedonnees, donneemax):
+ """ en fonction du type de données et du maxi (on suppose qu'on part à 0),
+ on choisit un intervalle raisonnable
+ On renvoie le couple des pas (majeur, mineur)
+ (0,0) en cas de problème avec le typedonnnes """
+
+ if typedonnees not in CONFIG["liste_typedonnees"]:
+ print("Type de données non valide : "+typedonnees)
+ return (0,0)
+
+ if typedonnees == "poids":
+ if donneemax>15:
+ return (5,1)
+ elif donneemax > 10:
+ return (2,1)
+ else:
+ return (1,0.2)
+ if typedonnees == "taille":
+ if donneemax>100:
+ return (10,2)
+ else:
+ return (5,1)
+
+def choix_echelle_temps(unite, tempsmaxi):
+ """ en fonction de l'unité voulue et du temps maximal (donné dans l'unité),
+ on choisit un intervalle raisonnable entre les pas.
+ On renvoie le couple des pas (majeur, mineur).
+ (0,0) en cas de problème avec l'unité
+ On met 0 en 2e arg si pas de grille secondaire"""
+ if unite not in CONFIG["liste_unites"]:
+ print("Unité non valide ! "+unite)
+ return (0,0)
+
+ if unite=="jours":
+ if tempsmaxi > 60: # pourquoi mettre en jours ?
+ return (30,1)
+ elif tempsmaxi >20:
+ return (7,1)
+ else:
+ return (1,0)
+ if unite=="semaines":
+ if tempsmaxi >50:
+ return (5,1)
+ elif tempsmaxi > 15:
+ return (2,1)
+ else:
+ return (1,1/7) # On met en jours
+
+ if unite=="mois":
+ if tempsmaxi > 30:
+ return (2,1)
+ elif tempsmaxi > 10:
+ return (1,0)
+ else:
+ return (1,0.25) # on met en semaines
+
+ if unite=="années":
+ return (1,1/12) # années / mois
+
def convertitunite(jours,unite,liste_err):
""" convertit des jours à l'unité voulue
renvoie des float"""