Aller au contenu

Exercices sur les dictionnaires

Exercice n°1 : Dictionnaire Français / Anglais

On souhaite réaliser un dictionnaire Français / Anglais, afin que l'utilisateur demande un mot en français et l'ordinateur répond par la traduction anglaise du mot.

Le dictionnaire Python contiendra donc des paires de clé/valeur définies telles que :

  • La clé est un mot en français.
  • La valeur est la traduction anglaise du mot associé à sa clé.

  • Créer un dictionnaire dico_fr_en de 10 éléments permettant cette traduction.

  • Rédiger une fonction traduction() qui prend comme argument le terme français et renvoie le terme anglais.
  • Enrichir le programme avec une question à l'utilisateur pour connaître le mot à traduire. Le programme doit afficher l'ensemble des mots français disponibles.

Indice q°1

Pour créer ce dictionnaire, il faut utiliser la syntaxe vue en cours :

dico_fr_en = {
    "bonjour": "hello",
    "ordinateur": "computer",
    ...
}

Indice q°2

Le terme français est utilisé en tant que clé, il faut donc vérifier que cette clé existe avant de la récupérer.

Indice q°3

On doit utiliser la fonction input() pour demander un mot à l'utilisateur. Pour consulter l'ensemble des mots disponibles, on devra parcourir le dictionnaire.

Exercice n°2 : Titanic

Histoire

Le Titanic appareille de Southampton (Angleterre) le mercredi 10 avril à 12 h 15.

Six heures plus tard, à 18 h 15, il fait escale dans la rade de Cherbourg. Il y débarque 24 passagers et en embarque 274, amenés par les transbordeurs Nomadic et Traffic. Il appareille à 20 h 10.

Le Titanic fait route vers l'Irlande. Il arrive à Queenstown (aujourdhui Cobh) le 11 avril à 11 h 30. Il débarque 7 passagers et en embarque 120. À 13 h 30, le paquebot appareille et entame sa traversée de l'Atlantique vers New York.

Le 14 avril, à 23 h 40 (heure locale, GMT-3), il percute un iceberg au large de Terre-Neuve. Il sombre le 15 avril à 2 h 20, causant la mort de 1 524 personnes.

On souhaite analyser les données de bord du Titanic lors de cette aventure. On dispose d'une liste Python avec des informations sur les passagers. Chaque élément de la liste est un passager représenté par un dictionnaire. En voici un extrait :

passagers = [
    {'PassengerId': 1,
     'Survived': False,
     'Pclass': 3,
     'Name': 'Braund, Mr. Owen Harris',
     'Sex': 'male',
     'Age': 22.0,
     'SibSp': 1,
     'Parch': 0,
     'Ticket': 'A/5 21171',
     'Fare': 7.25,
     'Embarked': 'S'
    },
    {'PassengerId': 2,
     'Survived': True,
     'Pclass': 1,
     'Name': 'Cumings, Mrs. John Bradley (Florence Briggs Thayer)',
     'Sex': 'female',
     'Age': 38.0,
     'SibSp': 1,
     'Parch': 0,
     'Ticket': 'PC 17599',
     'Fare': 71.2833,
     'Cabin': 'C85',
     'Embarked': 'C'
    },
    ...
]

Télécharger les données

Le fichier ci-dessus contient la liste non-exhaustive de 891 passagers. En raison de sa taille importante, son ouverture peut faire planter votre logiciel de programmation. Pensez donc à enregistrer votre travail régulièrement !

En cas d'absence d'information, la clé n'est pas présente ! Vous devez donc vous assurer que la clé existe avant de récupérer sa valeur.

Afin d'importer ces données, ajouter le code suivant dans votre fichier titanic.py :

from donnees_titanic import passagers

Désormais, la variable passagers contient cette liste de dictionnaires.

  1. Rédiger un programme qui :
    • affiche le nombre de passagers dans la liste (891) ;
    • vérifie que le passager 54 est :
      Faunthorpe, Mrs. Lizzie (Elizabeth Anne Wilkinson) agée de 29 ans, embarquée à Southampton en classe 2 et a survécu au naufrage ;
    • affiche le nombre de survivants (342).
  2. Sachant qu'il y a trois classes (1, 2 et 3), écrire un programme qui affiche le pourcentage de survivants par classe.
  3. Sachant qu'un passager embarqué à Cherbourg est représenté par la valeur 'C' associée à la clé 'Embarked', écrire un programme qui donne le nombre de survivants embarqués à Cherbourg (18%).