In [11]:
scrabble = ['A',1,'B',3,'C',3,'D',2,'E',1,'F',4,'G',2,'H',4,
            'I',1,'J',8,'K',10,'L',1,'M',2,'N',1, 'O',1,
            'P',3,'Q',8,'R',1,'S',1,'T',1,'U',1,'V',4,'W',10,
            'X',10,'Y',10,'Z',10]
In [12]:
def valeur(lettre):
    """
    lettre -- un caractère pris dans les lettres majuscules.
    
    renvoie le nombre de points associé (c'est à dire la valeur inscrite dans 
    la chaîne scrabble juste après la lettre)
    
    >>> valeur("A")
    1
    >>> valeur("M")
    2
    """
    for i, x in enumerate(scrabble):
        if x == lettre:
            return scrabble[i+1]
In [13]:
valeur("A")
Out[13]:
1
In [14]:
valeur("M")
Out[14]:
2
In [18]:
def maxi(liste):
    """
    liste -- liste de lettres majuscules.
    
    renvoie la lettre qui rapporte le plus grand nombre de points.
    Lorsque plusieurs lettres correspondent à la valeur maximale, 
    la fonction renvoie celle qui a le plus grand indice dans liste.
    
    >>> maxi(['B', 'A', 'K', 'D'])
    'K'
    >>> maxi(['A', 'E', 'I'])
    'I'
    """
    lettre_valeur_max = liste[0]
    for lettre in liste:
        if valeur(lettre) >= valeur(lettre_valeur_max):
            lettre_valeur_max = lettre
    return lettre_valeur_max
In [19]:
maxi(['A', 'E', 'I'])
Out[19]:
'I'
In [20]:
maxi(['B', 'A', 'K', 'D'])
Out[20]:
'K'
In [24]:
def valeur_mot(mot):
    """
    mot -- chaîne de caractères constituée de lettres majuscules.
    
    renvoie le nombre total de points du mot  (en additionnant les valeurs 
    attribuées à chaque lettre du mot)
    
    >>> valeur_mot("PYTHON")
    20
    >>> valeur_mot("JAVASCRIPT")
    24
    """
    somme = 0
    for lettre in mot:
        somme += valeur(lettre)
    return somme
    
In [25]:
valeur_mot("PYTHON")
Out[25]:
20
In [26]:
valeur_mot("JAVASCRIPT")
Out[26]:
24
In [ ]: