valeur_lettres = { "a": 1, "e": 1, "i": 1, "o": 1, "n": 1, "r": 1, "t": 1, "l": 1, "s": 1, "u": 1, "d": 2, "g": 2, "b": 3, "c": 3, "m": 3, "p": 3, "f": 4, "h": 4, "v": 4, "w": 4, "y": 4, "k": 5, "j": 8, "x": 8, "q": 10, "z": 10, } ## Signature d'un mot def signature(mot:str) -> dict: """Fonction qui compte le nombre de fois que chaque lettre apparait dans le mot :param mot: le mot à étudier :return: dictionnaire avec en clé les lettres et en valeur le nombre de fois qu'elles apparaissent """ # à compléter pass # Ajouter deux tests en plus assert signature("coucou") == {'c': 2, 'o': 2, 'u': 2} assert signature("") == {} ## Score d'un mot def score(mot: str, valeurs: dict) -> int: """ Calcul le score que fait un mot :param mot: le mot à étudier :param valeurs: dictionnaire avec les valeurs de chaque lettre :return: le score du mot """ # à compléter pass # Ajouter deux tests en plus assert score("coucou", valeur_lettres) == 10 assert score("", valeur_lettres) == 0 ## Meilleur score def meilleur_score(mots_possibles:list, valeurs:dict) -> str: """ Renvoie le mot qui fait le plus de points dans la liste des mots possibles""" # à compléter pass assert meilleur_score(["coucou", "hop"], valeur_lettres) == "coucou" autres_valeurs_lettres = { "a": 1, "e": 1, "i": 1, "o": 1, "n": 1, "r": 1, "t": 1, "l": 1, "s": 1, "u": 1, "d": 2, "g": 2, "b": 3, "c": 3, "m": 3, "p": 3, "f": 4, "h": 100, "v": 4, "w": 4, "y": 4, "k": 5, "j": 8, "x": 8, "q": 10, "z": 10, } assert meilleur_score(["coucou", "hop"], autres_valeurs_lettres) == "hop"