mobile.py

Created by schraf

Created on September 15, 2018

442 Bytes

Vous souvenez-vous des anciens claviers des mobiles ? Vous souvenez-vous également de l’inconvénient pour écrire ? Ici, vous devez calculer le nombre de touches que vous devez taper pour écrire un mot spécifique. Voici la disposition :

Exemples
>> taper("123")
3
>> taper("abc")
9 (2+3+4)
# Taper 2 fois pour obtenir "a", 3 fois pour obtenir "b", 4 fois pour "c"
>> taper("baccalaureat")
35

On ne tiendra pas compte ici des touches spéciales * et #.

Écrire une fonction taper qui admet en paramètre la le mot à afficher et qui en sortie donne le nombre de touches qu’il faudra taper.


def position(lettre):
  touches = ["1234567890","adgjmptw","behknqux","cfilorvy","sz"]
  for i,t in enumerate(touches):
    if lettre in t: return i+1
  return 0

def taper(mot):
  nb=0
  for c in mot.lower():
    nb+=position(c)
  return nb
  
# Version 2 pour la position

def position2(lettre):
  touches = ["1234567890","adgjmptw","behknqux","cfilorvy","sz"]
  return 1+touches.index([s for s in touches if lettre in s][0])