Уведомления

Группа в Telegram: @pythonsu

#1 Март 25, 2020 12:42:26

strannikkk999
Зарегистрирован: 2020-03-25
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Телефонная книга.

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

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]

Отредактировано strannikkk999 (Март 25, 2020 12:43:31)

Офлайн

#2 Март 26, 2020 09:07:03

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Телефонная книга.

https://tproger.ru/translations/regular-expression-python/
https://web.izjum.com/regexp-email-url-phone
ps по коментариям во второй ссылке утверждают что не все телефоны обрабатываются правильно



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Март 26, 2020 09:13:43)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version