view combinations_permutations/phone_to_words/solution.py @ 0:20fea762903e

Import some exercises and solutions
author Louis Opter <kalessin@kalessin.fr>
date Sat, 29 Jun 2013 19:30:31 -0700
parents
children
line wrap: on
line source

#!/usr/bin/env python

def d2l(digit):
    return {
        "2": "abc",
        "3": "def",
        "4": "ghi",
        "5": "jkl",
        "6": "mno",
        "7": "pqrs",
        "8": "tuv",
        "9": "wxyz"
    }[digit]

def p2w(number):
    if len(number) == 1:
        return [letter for letter in d2l(number)]
    letters = d2l(number[0])
    acc = []
    for i in letters:
        acc.extend([i + s for s in p2w(number[1:])])
    return acc

print(p2w("23"))
print(p2w("234"))