SHARE
SPREAD
HELP

The Tradition of Sharing

Help your friends and juniors by posting answers to the questions that you know. Also post questions that are not available.


To start with, Sr2Jr’s first step is to reduce the expenses related to education. To achieve this goal Sr2Jr organized the textbook’s question and answers. Sr2Jr is community based and need your support to fill the question and answers. The question and answers posted will be available free of cost to all.

 

#
Authors:
Tony Gaddis
Chapter:
More About Strings
Exercise:
Programming Exercises
Question:5 | ISBN:9780132576376 | Edition: 2

Question

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, and C -2
D, E, and F - 3
G, H, and I - 4
J, K, and L - 5
M, N, and O- 6
P, Q, R, and S - 7
T, U, and V -8
W, X, Y, and 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. For example, if the user enters 555-GET-FOOD the application should display 555-438-3663.

TextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbook

Answer

def translateToNumeric(number):
    numericNum = ""

    # Iterate over each character in the number
    for char in number:
        if char.isalpha():  # Check if the character is alphabetic
            char = char.upper()  # Convert the character to uppercase

            # Translate alphabetic characters to their numeric equivalent
            if char >= 'A' and char <= 'C':
                char = '2'
            elif char >= 'D' and char <= 'F':
                char = '3'
            elif char >= 'G' and char <= 'I':
                char = '4'
            elif char >= 'J' and char <= 'L':
                char = '5'
            elif char >= 'M' and char <= 'O':
                char = '6'
            elif char >= 'P' and char <= 'S':
                char = '7'
            elif char >= 'T' and char <= 'V':
                char = '8'
            elif char >= 'W' and char <= 'Z':
                char = '9'

        # Append the translated character to the numeric number
        numericNum += char

    return numericNum


# Get the telephone number from the user
telephoneNum = input("Enter a 10-character telephone number (XXX-XXX-XXXX): ")

# Translate and display the telephone number
numericNum = translateToNumeric(telephoneNum)
print("Translated telephone number:", numericNum)

Executed Output 1: 

Enter a 10-character telephone number (XXX-XXX-XXXX): 555-GET-FOOD
Translated telephone number: 555-438-3663

Executed Output 2:

Enter a 10-character telephone number (XXX-XXX-XXXX): GDP-CAR-LOVE
Translated telephone number: 437-227-5683

 

0 0

Discussions

Post the discussion to improve the above solution.