# -*- coding:utf-8 -*- __nom_fichier__ = "annuaire" __author__ = "fay7 : Christine Fay-Varnier" __date__ = "février 2017" def recherche(annuaire, identite): """ @param annuaire: dictionnaire tel que annuaire[(nom, prenom)] = tel, service @param identite: couple (nom, prenom) @return: retourne les informations sur la personne désignée par identite """ if identite not in annuaire: return "inconnu dans l'entreprise" # else facultatif # la personne apparaît dans le dictionnaire, on retourne les informations qui lui sont associées tel, service = annuaire[identite] return tel def recherche_service(annuaire, nom_service): """ @param annuaire: dictionnaire tel que annuaire[(nom, prenom)] = tel, service @param nom_service: nom d'un service @return: la liste de toutes les personnes appartenant à ce service """ liste_service = [] for identite in annuaire: # identite = (nom, prenom) # on parcourt la totalité des entrées du dictionnaire tel, service = annuaire[identite] if service == nom_service: liste_service.append(identite) return liste_service def nouvel_employe(annuaire, prenom, nom, tel, service): """ @param annuaire: annuaire dans lequel ajouter l'employé @param prenom: prénom du nouvel employé @param nom: nom du nouvel employé @param tel: numéro de téléphone du nouvel employé @param service: service du nouvel employé @return: l'annuaire est modifié à la sortie de la fonction """ annuaire[(nom, prenom)] = (tel, annuaire) if __name__ == '__main__': annuaire = {("Hastings", "Arthur"): (1234, "DRH"), ("Marple", "Jane"): (7532, "compta"), ("Poirot", "Hercule"): (8653, "DRH"), ("Japp", "James"): (5496, "Securite"), ("Oliver", "Ariadne"): (4236, "Securite")} nom = "Marple" # input("nom recherche : ") prenom = "Jane" # input("prenom recherche : ") identite = (nom.capitalize(), prenom.capitalize()) # permet de mettre la 1ere lettre en majuscule tel = recherche(annuaire, identite) if tel != "inconnu dans l'entreprise": print(prenom, nom, "est joignable au poste :", tel) else: print("inconnu dans l'entreprise") service = "DRH" # input("Service à afficher : ") # affichage de la liste des personnes du service liste_service = recherche_service(annuaire, service) print("Liste des personnes au service :", service) for nom, prenom in liste_service: print(prenom, nom) nouvel_employe(annuaire, "Felicity", "Lemon", 5698, "DRH") print(annuaire)