Я пытаюсь написать программу, предлагающую пользователю ввести номер телефона в виде строки. Ввод может содержать буквы, и программа переводит букву (в верхнем или нижнем регистре) в цифру и оставляет все остальные символы неповрежденными. Вот то, что я до сих пор:Преобразование буквы в цифру для номера телефона в Python
def getNumber(uppercaseLetter):
if uppercaseLetter == 'A':
number = 2
elif uppercaseLetter == 'B':
number = 2
elif uppercaseLetter == 'C':
number = 2
elif uppercaseLetter == 'D':
number = 3
elif uppercaseLetter == 'E':
number = 3
elif uppercaseLetter == 'F':
number = 3
elif uppercaseLetter == 'G':
number = 4
elif uppercaseLetter == 'H':
number = 4
elif uppercaseLetter == 'I':
number = 4
elif uppercaseLetter == 'J':
number = 5
elif uppercaseLetter == 'K':
number = 5
elif uppercaseLetter == 'L':
number = 5
elif uppercaseLetter == 'M':
number = 6
elif uppercaseLetter == 'N':
number = 6
elif uppercaseLetter == 'O':
number = 6
elif uppercaseLetter == 'P':
number = 7
elif uppercaseLetter == 'Q':
number = 7
elif uppercaseLetter == 'R':
number = 7
elif uppercaseLetter == 'S':
number = 7
elif uppercaseLetter == 'T':
number = 8
elif uppercaseLetter == 'U':
number = 8
elif uppercaseLetter == 'V':
number = 8
elif uppercaseLetter == 'W':
number = 9
elif uppercaseLetter == 'X':
number = 9
elif uppercaseLetter == 'Y':
number = 9
elif uppercaseLetter == 'Z':
number = 9
return number
def translateNumber():
phoneNumber = str(input("Enter a string: "))
for char in phoneNumber:
if char in ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']:
getNumber(char)
return char
else:
return char
print(phoneNumber)
По какой-то причине я не могу заставить его работать, и я не уверен, что проблема есть. Может кто-то, пожалуйста, помогите мне с решением? Спасибо!
Проблема в том, что если я пытаюсь ввести число, скажите: 1-800-Flowers, но я хочу, чтобы он вернул 1-800-3569377. Как мне это сделать? – user3105664
Это уже делается. Просто заполните «телефонную» переменную «1-800-Flowers» ... – mshsayem
Спасибо! Моя ошибка в этом. Я очень ценю помощь – user3105664