Пример #1
0
def menu_clust(previous_menu):
    """Menu intermédiare permettant à l'utilisateur de choisir la méthode de clustering à utiliser 
    Arguments:
        previous_menu {List} -- Menu précédent correspondant à l'utilisateur 
    """    
    menu_act = {}
    menu_act["individu"] = previous_menu["individu"]
    menu_act["question"] = "Le Clustering est une méthode statistique permettant de regrouper les pays selon les \nvaleurs prises par les différents critères, l'application propose ici deux méthodes : \nLe CAH et les K-means\
        \nQuelle méthode voulez vous utiliser ? \nNote : L'Inde a été retirée de la base de donnée afin de clarifier les résultats "
    menu_act["options"] = ["Clustering par méthode CAH",
        "Clustering par méthode des K-means", 
        "Retour au menu précédent", 
        "Quitter l'application"]
    if previous_menu["individu"].type == "Administrateur": 
        menu_act["actions"] = [
                (lambda previous_menu :previous_menu["individu"].clust('CAH',previous_menu)),
                (lambda previous_menu :previous_menu["individu"].clust('K-means',previous_menu)),
                (lambda previous_menu :indices_actions(Admin(),[0,1,2,3,5,6,7,8,9,10])),
                Individu().quitter]
    else : 
        menu_act["actions"] = [
                (lambda previous_menu :previous_menu["individu"].clust('CAH',previous_menu)),
                (lambda previous_menu :previous_menu["individu"].clust('K-means',previous_menu)),
                (lambda previous_menu :indices_actions(DataScientist(),[0,1,2,3,4,8,9,10])),
                Individu().quitter]
    menu_act["path"] = []
    return(Ouvert(menu_act))
Пример #2
0
def gestion_pays(previous_menu):
    """Menu intermédiare permettant à l'utilisateur de choisir entre l'ajout et la suppréssion de pays 

    Arguments:
        previous_menu {List} -- Menu précédent correspondant à l'utilisateur 
    """    
    menu_act = {}
    menu_act["individu"] = previous_menu["individu"]
    menu_act["question"] = "Que voulez vous faire ? "
    menu_act["options"] = ["Ajouter/Modifier un pays",
        "Supprimer un pays (Administrateur seulement) ", 
        "Retour au menu précédent", 
        "Quitter l'application"]
    if previous_menu["individu"].type == "Administrateur": 
        menu_act["actions"] = [
                (lambda previous_menu :previous_menu["individu"].ajout_pays(previous_menu)),
                (lambda previous_menu :previous_menu["individu"].suppression(previous_menu)),
                (lambda previous_menu :indices_actions(Admin(),[0,1,2,3,5,6,7,8,9,10])),
                Individu().quitter]
    else : 
        menu_act["actions"] = [
                (lambda previous_menu :previous_menu["individu"].ajout_pays(previous_menu)),
                (lambda previous_menu :previous_menu["individu"].suppression(previous_menu)),
                (lambda previous_menu :indices_actions(DataScientist(),[0,1,2,3,4,8,9,10])),
                Individu().quitter]
    menu_act["path"] = []
    return(Ouvert(menu_act))
Пример #3
0
def menu_graph(previous_menu): 
    """Création du menu intermédaire pour la fonction représentation graphique 

    Arguments:
        previous_menu {List} -- Menu précédent correspondant à l'utilisateur 
    """    
    menu_act = {}
    menu_act["individu"] = previous_menu["individu"]
    menu_act["question"] = "Selectionnez le critère"
    menu_act["options"] = ["Superficie", #2
        "Population", #3
        "Croissance démographique", #4
        "Inflation", #5
        "Dette", #6
        "Taux de chômage", #7
        "Taux de dépenses en santé", #8
        "Taux de dépenses en éducation", #9
        "Taux de dépenses militaires", #10
        "Retour au menu précédent", 
        "Quitter l'application"]
    if previous_menu["individu"].type == "Administrateur": 
        menu_act["actions"] = [
                (lambda previous_menu :previous_menu["individu"].representationgraphique(previous_menu,1)),
                (lambda previous_menu :previous_menu["individu"].representationgraphique(previous_menu,2)),
                (lambda previous_menu :previous_menu["individu"].representationgraphique(previous_menu,3)), 
                (lambda previous_menu :previous_menu["individu"].representationgraphique(previous_menu,4)),
                (lambda previous_menu :previous_menu["individu"].representationgraphique(previous_menu,5)),
                (lambda previous_menu :previous_menu["individu"].representationgraphique(previous_menu,6)),
                (lambda previous_menu :previous_menu["individu"].representationgraphique(previous_menu,7)),
                (lambda previous_menu :previous_menu["individu"].representationgraphique(previous_menu,8)),
                (lambda previous_menu :previous_menu["individu"].representationgraphique(previous_menu,9)),
                (lambda previous_menu :indices_actions(Admin(),[0,1,2,3,5,6,7,8,9,10])),
                Individu().quitter]
    else : 
        menu_act["actions"] = [
                (lambda previous_menu :previous_menu["individu"].representationgraphique(previous_menu,1)),
                (lambda previous_menu :previous_menu["individu"].representationgraphique(previous_menu,2)),
                (lambda previous_menu :previous_menu["individu"].representationgraphique(previous_menu,3)), 
                (lambda previous_menu :previous_menu["individu"].representationgraphique(previous_menu,4)),
                (lambda previous_menu :previous_menu["individu"].representationgraphique(previous_menu,5)),
                (lambda previous_menu :previous_menu["individu"].representationgraphique(previous_menu,6)),
                (lambda previous_menu :previous_menu["individu"].representationgraphique(previous_menu,7)),
                (lambda previous_menu :previous_menu["individu"].representationgraphique(previous_menu,8)),
                (lambda previous_menu :previous_menu["individu"].representationgraphique(previous_menu,9)),
                (lambda previous_menu :indices_actions(DataScientist(),[0,1,2,3,4,8,9,10])),
                Individu().quitter]
    menu_act["path"] = []
    
    return(Ouvert(menu_act))
Пример #4
0
def menu_resume(previous_menu):
    """Création du menu intermédaire pour l'affichage statistique

    Arguments:
        previous_menu {List} -- Menu précédent correspondant à l'utilisateur 
    """
    menu_act = {}
    menu_act["individu"] = menu_act["individu"] = previous_menu["individu"]
    menu_act[
        "question"] = "L'affichage statistique permet de visualiser plusieurs informations"
    menu_act["options"] = [
        "Afficher les pays dont le critère est le plus important",  #2
        "Afficher les pays dont le critère dépasse un certain seuil",  #3
        "Afficher les pays dont le critère ne dépasse pas un certain seuil",  #4
        "Affichage de la répartition des classes d'âges",  #5
        "Retour au menu principal",
        "Quitter l'application"
    ]
    menu_act["actions"] = [
        menu_tricrois,
        menu_seuil_inf,
        menu_seuil_sup,  # 
        (lambda previous_menu: previous_menu["individu"].affichage_tableau_age(
            previous_menu)),
        (lambda previous_menu: Ouvert(menu[0])),
        Individu().quitter
    ]
    menu_act["path"] = []

    return (Ouvert(menu_act))
Пример #5
0
def menu_age_seuil_sup(previous_menu):
    """Création du menu intermédaire pour les tranches d'age pour la fonction résumé d'information

    Arguments:
        previous_menu {List} -- Menu précédent correspondant à l'utilisateur 
    """
    menu_act = {}
    menu_act["individu"] = menu_act["individu"] = previous_menu["individu"]
    menu_act["question"] = "Selectionnez la tranche d'âge"
    menu_act["options"] = [
        "0-14 ans",  #2
        "15-24 ans",  #3
        "25-54 ans",  #4
        "55-64 ans",  #5
        "65 ans et plus",  #6
        "Retour au menu principal",
        "Quitter l'application"
    ]
    menu_act["actions"] = [
        (lambda previous_menu: previous_menu["individu"].affichage_seuil_sup(
            '0-14 years', previous_menu)),
        (lambda previous_menu: previous_menu["individu"].affichage_seuil_sup(
            '15-24 years', previous_menu)),
        (lambda previous_menu: previous_menu["individu"].affichage_seuil_sup(
            '25-54 years', previous_menu)),  # 
        (lambda previous_menu: previous_menu["individu"].affichage_seuil_sup(
            '55-64 years', previous_menu)),
        (lambda previous_menu: previous_menu["individu"].affichage_seuil_sup(
            '65 years and over', previous_menu)),
        menu_seuil_sup,
        Individu().quitter
    ]
    menu_act["path"] = []
    return (Ouvert(menu_act))
Пример #6
0
def menu_age_des(previous_menu): 
    """Création du menu intermédaire pour les tranches d'age pour la fonction résumé statistique

    Arguments:
        previous_menu {List} -- Menu précédent correspondant à l'utilisateur 
    """ 
    menu_act = {}
    menu_act["individu"] = menu_act["individu"] = previous_menu["individu"]
    menu_act["question"] = "Selectionnez la tranche d'âge"
    menu_act["options"] = ["0-14 ans", #2
        "15-24 ans", #3
        "25-54 ans", #4
        "55-64 ans", #5
        "65 ans et plus", #6
        "Retour au menu précédent",
        "Quitter l'application"]
    menu_act["actions"] = [
            (lambda previous_menu :previous_menu["individu"].description('Classe des 0-14 ans',previous_menu)),
            (lambda previous_menu :previous_menu["individu"].description('Classe des 15-24 ans',previous_menu)),
            (lambda previous_menu :previous_menu["individu"].description('Classe des 25-54 ans',previous_menu)), # 
            (lambda previous_menu :previous_menu["individu"].description('Classe des 55-64 ans',previous_menu)),
            (lambda previous_menu :previous_menu["individu"].description('Classe des plus de 65 ans',previous_menu)),
            menu_des,
            Individu().quitter]
    menu_act["path"] = []
    return(Ouvert(menu_act))
Пример #7
0
def menu_resume(previous_menu): 
    """Création du menu intermédaire pour l'affichage statistique

    Arguments:
        previous_menu {List} -- Menu précédent correspondant à l'utilisateur 
    """ 
    menu_act = {}
    menu_act["individu"] = menu_act["individu"] = previous_menu["individu"]
    menu_act["question"] = "L'affichage statistique permet de visualiser plusieurs informations \nQue voulez vous faire ?"
    menu_act["options"] = ["Afficher les pays dont le critère est le plus important",
        "Afficher les pays dont le critère est le moins important",  #2
        "Afficher les pays dont le critère dépasse un certain seuil", #3
        "Afficher les pays dont le critère ne dépasse pas un certain seuil", #4
        "Affichage de la répartition des classes d'âges",
        "Résumé statistique des critères", #5
        "Retour au menu précédent", 
        "Quitter l'application"]
    if previous_menu["individu"].type == "Administrateur": 
        menu_act["actions"] = [
                menu_tricrois,
                menu_tridecrois,
                menu_seuil_inf,
                menu_seuil_sup, # 
                (lambda previous_menu :previous_menu["individu"].affichage_tableau_age(previous_menu)),
                menu_des,
                (lambda previous_menu :indices_actions(Admin(),[0,1,2,3,5,6,7,8,9,10])),
                Individu().quitter]
    else : 
        menu_act["actions"] = [
                menu_tricrois,
                menu_tridecrois,
                menu_seuil_inf,
                menu_seuil_sup, # 
                (lambda previous_menu :previous_menu["individu"].affichage_tableau_age(previous_menu)),
                menu_des,
                (lambda previous_menu :indices_actions(DataScientist(),[0,1,2,3,4,8,9,10])),
                Individu().quitter]
    menu_act["path"] = []
    
    return(Ouvert(menu_act))
Пример #8
0
def menu_seuil_sup(previous_menu):
    """Création du menu intermédaire pour la fonction du tri croissant

    Arguments:
        previous_menu {List} -- Menu précédent correspondant à l'utilisateur 
    """
    menu_act = {}
    menu_act["individu"] = menu_act["individu"] = previous_menu["individu"]
    menu_act[
        "question"] = "Affichage des pays dont le critère ne depasse pas un certaint seuil \nSelectionnez le critère"
    menu_act["options"] = [
        "Superficie",  #2
        "Population",  #3
        "Croissance démographique",  #4
        "Inflation",  #5
        "Dette",  #6
        "Taux de chômage",  #7
        "Taux de dépenses en santé",  #8
        "Taux de dépenses en éducation",  #9
        "Taux de dépenses militaires",
        "Classes d'âges",
        "Retour au menu principal",
        "Quitter l'application"
    ]
    menu_act["actions"] = [
        (lambda previous_menu: previous_menu["individu"].affichage_seuil_sup(
            'total', previous_menu)),
        (lambda previous_menu: previous_menu["individu"].affichage_seuil_sup(
            'Population', previous_menu)),
        (lambda previous_menu: previous_menu["individu"].affichage_seuil_sup(
            'Population growth rate', previous_menu)),  # 
        (lambda previous_menu: previous_menu["individu"].affichage_seuil_sup(
            'Inflation rate (consumer prices)', previous_menu)),
        (lambda previous_menu: previous_menu["individu"].affichage_seuil_sup(
            'Debt - external', previous_menu)),
        (lambda previous_menu: previous_menu["individu"].affichage_seuil_sup(
            'Unemployment rate', previous_menu)),
        (lambda previous_menu: previous_menu["individu"].affichage_seuil_sup(
            'Health expenditures', previous_menu)),
        (lambda previous_menu: previous_menu["individu"].affichage_seuil_sup(
            'Education expenditures', previous_menu)),
        (lambda previous_menu: previous_menu["individu"].affichage_seuil_sup(
            'Military expenditures', previous_menu)),
        menu_age_tricrois,
        menu_resume,
        Individu().quitter
    ]
    menu_act["path"] = []

    return (Ouvert(menu_act))
Пример #9
0
def gestion_comptes(previous_menu):
    """Menu intermédiare permettant à l'utilisateur de choisir entre l'ajout et la suppression de comptes

    Arguments:
        previous_menu {List} -- Menu précédent correspondant à l'utilisateur 
    """    
    menu_act = {}
    menu_act["individu"] = previous_menu["individu"]
    menu_act["question"] = "Que voulez vous faire ? "
    menu_act["options"] = ["Créer un compte Géographe/DataScientist",
        "Supprimer un compte ", 
        "Retour au menu précédent", 
        "Quitter l'application"]
    menu_act["actions"] = [
            (lambda previous_menu :previous_menu["individu"].ajout_compte(previous_menu)),
            (lambda previous_menu :previous_menu["individu"].suppression_compte(previous_menu)),
            (lambda previous_menu :indices_actions(Admin(),[0,1,2,3,5,6,7,8,9,10])),
            Individu().quitter]
    menu_act["path"] = []
    return(Ouvert(menu_act))
Пример #10
0
def menu_des(previous_menu): 
    """Création du menu intermédaire pour la fonction de l'affichage du résumé statistique

    Arguments:
        previous_menu {List} -- Menu précédent correspondant à l'utilisateur 
    """ 
    menu_act = {}
    menu_act["individu"] = menu_act["individu"] = previous_menu["individu"]
    menu_act["question"] = "Vous allez visualiser les informations suivantes pour le critère sélectionné : \nNombre d'observations, moyenne, écart-type, min, max et quartiles.  \nSelectionnez le critère"
    menu_act["options"] = ["Superficie", #2
        "Population", #3
        "Croissance démographique", #4
        "Inflation", #5
        "Dette", #6
        "Taux de chômage", #7
        "Taux de dépenses en santé", #8
        "Taux de dépenses en éducation", #9
        "Taux de dépenses militaires", 
        "Classes d'âges", 
        "Retour au menu précédent", 
        "Quitter l'application"]
    menu_act["actions"] = [
            (lambda previous_menu :previous_menu["individu"].description('Superficie',previous_menu)),
            (lambda previous_menu :previous_menu["individu"].description('Population',previous_menu)),
            (lambda previous_menu :previous_menu["individu"].description('Croissance démographique',previous_menu)), 
            (lambda previous_menu :previous_menu["individu"].description('Inflation',previous_menu)), 
            (lambda previous_menu :previous_menu["individu"].description('Dette',previous_menu)),
            (lambda previous_menu :previous_menu["individu"].description('Taux de chômage',previous_menu)),
            (lambda previous_menu :previous_menu["individu"].description('Taux de dépense en santé',previous_menu)),
            (lambda previous_menu :previous_menu["individu"].description('Taux de dépense en éducation',previous_menu)),
            (lambda previous_menu :previous_menu["individu"].description('Taux de dépense militaire',previous_menu)),
            menu_age_des,
            menu_resume,
            Individu().quitter]
    menu_act["path"] = []
    
    return(Ouvert(menu_act))
Пример #11
0
 {
     "question":
     "Selectionnez votre type utilisateur",
     "options": [
         "Consultant", "Géographe", "DataScientist", "Administrateur",
         "Quitter l'application"
     ],
     "actions":
     [(lambda previous_menu: indices_actions(Consultant(), [1, 4, 9, 10])),
      (lambda previous_menu: indices_actions(Geographe(),
                                             [0, 1, 5, 6, 9, 10])),
      (lambda previous_menu: indices_actions(DataScientist(),
                                             [0, 1, 2, 3, 4, 8, 9, 10])),
      (lambda previous_menu: indices_actions(Admin(
      ), [0, 1, 2, 3, 5, 6, 7, 8, 9, 10])),
      Individu().quitter],
     "individu":
     Individu(),
     "path": []
 },
 {
     "question":
     "Que voulez vous faire ? ",
     "options": [
         "Connexion",  #0
         "Affichage de données pays",  #1
         "Représentation graphique",  #2 Data
         "Résumés statistiques",  #3 Data
         "Proposition suggestion",  #4
         "Gestion des pays",  #5
         "Gestion des suggestions",  #6
Пример #12
0
            (lambda previous_menu :previous_menu["individu"].description('Classe des 55-64 ans',previous_menu)),
            (lambda previous_menu :previous_menu["individu"].description('Classe des plus de 65 ans',previous_menu)),
            menu_des,
            Individu().quitter]
    menu_act["path"] = []
    return(Ouvert(menu_act))
menu = [
    { 
        "question" : "Selectionnez votre type utilisateur",
        "options" : ["Consultant", "Géographe", "DataScientist", "Administrateur", "Quitter l'application"],
        "actions" : [
            (lambda previous_menu :indices_actions(Consultant(),[1,4,9,10])),
            (lambda previous_menu :indices_actions(Geographe(),[0,1,5,6,9,10])),
            (lambda previous_menu :indices_actions(DataScientist(),[0,1,2,3,4,8,9,10])),
            (lambda previous_menu :indices_actions(Admin(),[0,1,2,3,5,6,7,8,9,10])),
            Individu().quitter],
        "individu": Individu(),
        "path": []
    },


    {
        "question" : "Que voulez vous faire ? ",
        "options" : ["Connexion", #0
        "Affichage de données pays", #1
        "Représentation graphique", #2 Data
        "Affichages statistiques", #3 Data
        "Proposition suggestion", #4
        "Gestion des pays", #5
        "Gestion des suggestions", #6
        "Gestion des comptes",