Many companies use telephone numbers like 555-GET-FOOD so the number is easier
for their customers to remember. On a standard telephone, the alphabetic
letters are mapped to numbers in the following fashion:
A, B, C: 2
D, E, F: 3
G, H, I: 4
J, K, L: 5
M, N, O: 6
P, Q, R, S: 7
T, U, V: 8
W, X, Y, Z: 9
Write a program that asks the user to enter a 10-character telephone number in
the format XXX-XXX-XXXX. The application should display the telephone
number with any alphabetic characters that appeared in the original translated
to their numeric equivalent.
# dict for letter in the phone
phone_letters = {'A': '2', 'B': '2', 'C': '2', 'D': '3', 'E': '3',
'F': '3', 'G': '4', 'H': '4', 'I': '4', 'J': '5',
'K': '5', 'L': '5', 'M': '6', 'N': '6', 'O': '6',
'P': '7', 'Q': '7', 'R': '7', 'S': '7', 'T': '8',
'U': '8', 'V': '8', 'W': '9', 'X': '9', 'Y': '9',
'Z': '9'}
number = input('Enter a 10-character telephone number in the format XXX-XXX-XXXX:').replace('-', '')
answer = []
for n in number:
if n.isdigit():
answer.append(n)
if n.isalpha():
value = phone_letters.get(n.upper())
answer.append(value)
# convert list to desired format
answer.insert(3, '-')
answer.insert(7, '-')
# join list in string
print('Your phone number:', ''.join(answer))
INPUT:
Enter a 10-character telephone number in the format XXX-XXX-XXXX:555-GET-FOOD
OUTPUT:
Your phone number: 555-438-3663
Comments
Leave a comment