Mercurial > louis > peeves
annotate 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 |
rev | line source |
---|---|
0
20fea762903e
Import some exercises and solutions
Louis Opter <kalessin@kalessin.fr>
parents:
diff
changeset
|
1 #!/usr/bin/env python |
20fea762903e
Import some exercises and solutions
Louis Opter <kalessin@kalessin.fr>
parents:
diff
changeset
|
2 |
20fea762903e
Import some exercises and solutions
Louis Opter <kalessin@kalessin.fr>
parents:
diff
changeset
|
3 def d2l(digit): |
20fea762903e
Import some exercises and solutions
Louis Opter <kalessin@kalessin.fr>
parents:
diff
changeset
|
4 return { |
20fea762903e
Import some exercises and solutions
Louis Opter <kalessin@kalessin.fr>
parents:
diff
changeset
|
5 "2": "abc", |
20fea762903e
Import some exercises and solutions
Louis Opter <kalessin@kalessin.fr>
parents:
diff
changeset
|
6 "3": "def", |
20fea762903e
Import some exercises and solutions
Louis Opter <kalessin@kalessin.fr>
parents:
diff
changeset
|
7 "4": "ghi", |
20fea762903e
Import some exercises and solutions
Louis Opter <kalessin@kalessin.fr>
parents:
diff
changeset
|
8 "5": "jkl", |
20fea762903e
Import some exercises and solutions
Louis Opter <kalessin@kalessin.fr>
parents:
diff
changeset
|
9 "6": "mno", |
20fea762903e
Import some exercises and solutions
Louis Opter <kalessin@kalessin.fr>
parents:
diff
changeset
|
10 "7": "pqrs", |
20fea762903e
Import some exercises and solutions
Louis Opter <kalessin@kalessin.fr>
parents:
diff
changeset
|
11 "8": "tuv", |
20fea762903e
Import some exercises and solutions
Louis Opter <kalessin@kalessin.fr>
parents:
diff
changeset
|
12 "9": "wxyz" |
20fea762903e
Import some exercises and solutions
Louis Opter <kalessin@kalessin.fr>
parents:
diff
changeset
|
13 }[digit] |
20fea762903e
Import some exercises and solutions
Louis Opter <kalessin@kalessin.fr>
parents:
diff
changeset
|
14 |
20fea762903e
Import some exercises and solutions
Louis Opter <kalessin@kalessin.fr>
parents:
diff
changeset
|
15 def p2w(number): |
20fea762903e
Import some exercises and solutions
Louis Opter <kalessin@kalessin.fr>
parents:
diff
changeset
|
16 if len(number) == 1: |
20fea762903e
Import some exercises and solutions
Louis Opter <kalessin@kalessin.fr>
parents:
diff
changeset
|
17 return [letter for letter in d2l(number)] |
20fea762903e
Import some exercises and solutions
Louis Opter <kalessin@kalessin.fr>
parents:
diff
changeset
|
18 letters = d2l(number[0]) |
20fea762903e
Import some exercises and solutions
Louis Opter <kalessin@kalessin.fr>
parents:
diff
changeset
|
19 acc = [] |
20fea762903e
Import some exercises and solutions
Louis Opter <kalessin@kalessin.fr>
parents:
diff
changeset
|
20 for i in letters: |
20fea762903e
Import some exercises and solutions
Louis Opter <kalessin@kalessin.fr>
parents:
diff
changeset
|
21 acc.extend([i + s for s in p2w(number[1:])]) |
20fea762903e
Import some exercises and solutions
Louis Opter <kalessin@kalessin.fr>
parents:
diff
changeset
|
22 return acc |
20fea762903e
Import some exercises and solutions
Louis Opter <kalessin@kalessin.fr>
parents:
diff
changeset
|
23 |
20fea762903e
Import some exercises and solutions
Louis Opter <kalessin@kalessin.fr>
parents:
diff
changeset
|
24 print(p2w("23")) |
20fea762903e
Import some exercises and solutions
Louis Opter <kalessin@kalessin.fr>
parents:
diff
changeset
|
25 print(p2w("234")) |