Найти - Пользователи
Полная версия: Телефонная книга.
Начало » Python для новичков » Телефонная книга.
1
strannikkk999
Здравствуйте форумчане, прошу помощи в весьма,на первый взгляд,тривиальной задаче, которая не поддается решению:
Коля стал замечать, что иногда в его телефонную книгу попадают номера в некорректном формате. Чтобы не сохранять недействительные номера, он попросил Вас обрабатывать только номера, соответствующие критериям:

1 номер должен начинаться либо с +7, либо с 8 и состоять из 11 цифр.

2 блоки цифр могут разделяться пробелами или дефисами.

3 вторая, третья и четвертая цифры могут помещаться в скобки.

Если программа встречает некорректный номер, она должна его проигнорировать. В обратном случае она должна привести номер к виду +7 (900) 800-70-60 и запомнить. Остальной функционал программы остается без изменений.

ВВОД
Ben 89001234050, +7 050 432 10-09
Alice 404-502, 894053212-65, 439-095
Nick +1(650)781 12-51
Ben
Alex +4(908)273-22-421, 8 (908) 273-22-42
Alice
Nick
Robert 51234047129, 89174043215
Alex
Robert
.
ВЫВОД
+7 (900) 123-40-50, +7 (050) 432-10-09
+7 (940) 532-12-65
Не найдено
+7 (908) 273-22-42
+7 (917) 404-32-15

вот мой код но не совсем то выдает, не знаю как решить проблему
 phone_book = dict()
 
data = input()
while data != '.':
    data = data.replace(',','')
    data = data.replace("-",'')
    data = data.split()
    if len(data) == 1:
        name = ''.join(data)
        if name in phone_book:
            a = ', '.join(phone_book[name])
            print(a)
        else:
            print("Не найдено" )
    else:
        name, number = data[0],data[1:]
        phone_book[name] = phone_book.get(name,[]) + number
    data = input()   [quote][quote][/quote][/quote]

AD0DE412
https://tproger.ru/translations/regular-expression-python/
https://web.izjum.com/regexp-email-url-phone
ps по коментариям во второй ссылке утверждают что не все телефоны обрабатываются правильно
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB