Условия задачи:

 

Алфавитный переводчик номера телефона. Многие ·компании используют телефонные номера наподобие 555-GET-FOOD, чтобы клиентам было легче запоминать эти номера.
На стандартном телефоне буквам алфавита поставлены в соответствие числа следующим образом:
А, В и С = 2
D, Е и F = 3
G, Н I = 4
J, К и L = 5
М,N и O = 6
Р, Q, R и S = 7
Т, U и V = 8
W, Х, У  и Z = 9
Напишите программу, которая просит пользователя ввести 10-символьный номер теле­фона в формате ХХХ-ХХХ-ХХХХ. Приложение должно показать номер телефона, в котором все буквенные символы в оригинале переведены в их числовой эквивалент.
Например, если пользователь вводит 555-GET-FOOD, то приложение должно вывести 555-438-3663.

 

Решение задачи:

def main():
    users_number = input('Введите номер телефона: ')
    def get_digit(value):
        if value == 'A' or value =='B' or value == 'C':
            return 2
        elif value == 'D' or value == 'E' or value == 'F':
            return 3
        elif value == 'G' or value == 'H' or value == 'I':
            return 4
        elif value == 'J' or value == 'K' or value == 'L':
            return 5
        elif value == 'M' or value == 'N' or value == 'O':
            return 6
        elif value == 'P' or value == 'Q' or value == 'R' or value == 'S':
            return 7
        elif value == 'T' or value == 'U' or value =='V':
            return 8
        else:
            return  9
    new_number = ''
    for i in users_number.upper():
        if i.isalpha():
            new_number += str(get_digit(i))
        else:
            new_number += str(i)
    print(new_number)
main()