Adloun

Inverser un annuaire

Exercice · informatique (tronc commun des prépas scientifiques), chapitre 2 — Recherche séquentielle et dictionnaires

Énoncé

À partir d'un dictionnaire annuaire associant des noms à des numéros de téléphone (distincts), écrire une fonction inverse(annuaire) renvoyant le dictionnaire associant chaque numéro à son nom. Adapter ensuite le code sous la forme inverse_multi(annuaire) pour gérer le cas où plusieurs personnes peuvent partager le même numéro (le dictionnaire associera alors le numéro à la liste des noms).

Corrigé

def inverse(annuaire: dict) -> dict:
    qui = {}
    for nom in annuaire:
        qui[annuaire[nom]] = nom
    return qui

def inverse_multi(annuaire: dict) -> dict:
    qui = {}
    for nom in annuaire:
        num = annuaire[nom]
        if num not in qui:
            qui[num] = []
        qui[num].append(nom)
    return qui

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.