Dictionnaires

Consignes

Dans ce TP, les différents exercices sont indépendants.

Enregistrez chaque fichier dans le dossier [Dictionnaires] sous le nom donné à l'exercice : dictionnaire.py, titanic.py, scrabble.py, occurence.py...

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é.

Question

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

  2. Rédiger une fonction traduction() qui prend comme argument le terme français et renvoie le terme anglais.

  3. 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

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

1
dico_fr_en = {
2
    "bonjour": "hello",
3
    "ordinateur": "computer",
4
    ...
5
}

Indice

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

Indice

Question 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 : Scrabble

On dispose du dictionnaire suivant, dans lequel chaque lettre de l'alphabet (en majuscules) est associé au nombre de points qui lui est attribué au scrabble :

1
scrabble = {'A': 1, 'B': 3, 'C': 3, 'D': 2, 'E': 1, 'F': 4, 'G': 2, 'H': 4,
2
            'I': 1, 'J': 8, 'K': 10, 'L': 1, 'M': 2, 'N': 1, 'O': 1,
3
            'P': 3, 'Q': 8, 'R': 1, 'S': 1, 'T': 1, 'U': 1, 'V': 4,
4
            'W': 10, 'X': 10, 'Y': 10, 'Z': 10}

Télécharger ce fichier qui sera à compléter selon les questions ci-dessous.

Question

  1. Compléter la définition de la fonction valeur_mot(mot) qui prend en paramètre une chaîne de caractères constituée de lettres majuscules et qui renvoie le nombre de points que rapporterait ce mot au scrabble.

  2. Compléter la définition de la fonction meilleure_lettre() qui prend en paramètre un tableau dont les éléments sont des lettres majuscules et qui renvoie celle ayant la plus forte valeur au scrabble.

    En cas d'égalité, c'est la lettre ayant l'indice le plus élevé dans le tableau qui est renvoyée.

Indice

Question 1 : Le nombre de points d'un mot se calcule grâce à la somme des points de chaque lettre du mot. Il faut donc parcourir toutes les lettres du mot et consulter sa valeur dans le dictionnaire.

Indice

Question 2 : Simple parcours de liste où on regarde chaque éléments dans notre dictionnaire scrabble. La spécificité est que la meilleure lettre doit être sauvegardée dans une variable, et on compare sa valeur à chaque nouvelle lettre dans la liste.

Cela ressemble à la fonction indice_min sauf que :

  • on ne veut pas le minimum mais le maximum ;

  • on ne regarde pas la valeur de l'élément, mais sa valeur via le dictionnaire ;

  • on ne renvoie pas l'indice mais l'élément (la lettre).