99 lines
1.8 KiB
Python
99 lines
1.8 KiB
Python
|
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"
|