Answer:
The program in Python is as follows:
def convertt(phone):
splitnum = phone.split ('-')
valid = True
count = 0
err = ""
numphone = ""
if len(phone) != 12:
err = "Invalid Length"
valid = False
elif phone[3] != '-' or phone[7] != '-':
err = "Invalid dash [-] location"
valid = False
while valid== True and count < 3:
for ch in splitnum[count]:
if ch.isdigit():
numphone += ch
elif ch.upper()in 'ABC':
numphone += '2'
elif ch.upper()in 'DEF':
numphone += '3'
elif ch.upper()in 'GHI':
numphone += '4'
elif ch.upper() in 'JKL':
numphone += '5'
elif ch.upper()in 'MNO':
numphone += '6'
elif ch.upper()in 'PQRS':
numphone += '7'
elif ch.upper()in 'TUV':
numphone += '8'
elif ch.upper()in 'WXYZ':
numphone += '9'
else:
valid = False
err = "Illegal character in phone number"
if count!=2:
numphone += '-'
count += 1
if valid == False:
print (err)
else:
print ("Phone Number", numphone)
phone = input("Phone number: ")
convertt(phone)
Explanation:
See attachment for complete source code where comments are used for explanation