Le descripteur CountryCode permet donc de faire le lien entre les deux listes pays et langues.
Utilisons cette relation afin de déterminer les langues parlées dans un pays quelconque.
Langues parlées dans un pays
On demande d'écrire deux fonctions :
code_pays prend en argument la liste des pays ainsi que le nom d'un pays et renvoie son code ;
langues_parlees prend en argument les listes des données des pays et celle des langues (arguments pays et langues) ainsi que le nom d'un pays (nom) et renvoie la liste des noms des langues parlées dans ce pays.
Quelle est la capitale d'Haïti ? Là encore, il faut :
parcourir la liste des pays jusqu'à trouver l'entrée correspondant à Haïti,
repérer le code de la capitale correspondante,
parcourir la liste des villes jusqu'à trouver le code cherché.
Nous allons effectuer ces actions pour chacun des pays présents dans la liste. La capitale étant trouvée, nous ajouterons une nouvelle clé CapitalName au dictionnaire du pays. La valeur associée sera le nom de la capitale obtenu.
Pas de capitale ?
Certains des « pays » listés n'en sont pas vraiment et n'ont donc pas de capitale. C'est par exemple le cas de l'Antarctique.
Lors de l'import des données, on leur a associé la valeur -1 à la clé Capital.
Liens
Quels sont les descripteurs permettant de faire le lien entre les listes pays et villes ?
Le descripteur "Capital" de pays et "Name" de villes
Le descripteur "Name" de pays et "Name" de villes
Le descripteur "Capital" de pays et "ID" de villes
Le descripteur "ID" de pays et "Capital" de villes
Le descripteur "Capital" de pays et "Name" de villes
Le descripteur "Name" de pays et "Name" de villes
Le descripteur "Capital" de pays et "ID" de villes
Le descripteur "ID" de pays et "Capital" de villes
Associer les capitales aux pays
Compléter le code ci-dessous afin d'ajouter à chaque dictionnaire correspondant à un pays une nouvelle entrée CapitalName contenant le nom de sa capitale.
On utilisera la chaîne vide "" comme valeur pour les « pays » sans capitale.
Ainsi :
le dictionnaire correspondant à la France contiendra un nouveau couple "CapitalName": "Paris",
celui de l'Antarctique "CapitalName": "".
###(Dés-)Active le code après la ligne # Tests (insensible à la casse) (Ctrl+I)
Entrer ou sortir du mode "deux colonnes" (Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran" (Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)