• справка о междугороднем тел. разговоре содержит: номер телефона абонента(6 цифр),дату(год, месяц, число),время(час, минута), код города(3 цифры), номер телефона в другом городе(7 цифр), продолжительность разговора(в минутах),категорию(срочный, обычный) и тариф(плата в рублях за минуту). Вывести на экран номер телефона абонента код города и номер телефона в другом городе для срочных телефонных разговоров, состоявшихся между 15 марта и 12 апреля 1996 года

Ответы 1

  • #!/usr/bin/python3'''пологаю, условие как есть: без пробелов, без OCR, без какого-либо форматированият.е. вводные строки текста выглядят так:aaaaaayyyymmddbbbbbbbccccсрочныйeeeeя добавил поддержку некоторых разделителей в выражение, на случай если онивсётаки имеютсятестовые данные:123456199601011234567987срочный000123456199603291234567987срочный000123456 1996-03-29 1234567 987 срочный 000123456200109111234567987срочный000тогда, решаем это с помощью регулярных выраженийкак видно, в условии не сказано, что считать за код города. предположим,что код города - это первая цифра от num2'''import reimport datetimeR = re.compile(    r'\s*(?P<num1>\d{6})\s*(?P<y>\d{4})\-?(?P<m>\d{2})\-?(?P<d>\d{2})\s*'    r'(?P<num2>\d{7})\s*'    r'(?P<time>\d+)\s*(?P<urgency>(срочный|обычный))\s*(?P<price>\d+)\s*')d1 = datetime.datetime(1996, 3, 15)d2 = datetime.datetime(1996, 4, 12)while True:    a = ""    try:        a = input("введи> ")    except EOFError:        print("\n")        exit(0)    res = R.match(a)    if res == None:        print("ошибка парсинга")        continue    dd = datetime.datetime.now()    try:        dd = datetime.datetime(            int(res.group("y")),            int(res.group("m")),            int(res.group("d"))        )    except ValueError:        print("неправильная дата")    if res.group("urgency") == "срочный" and (dd > d1 and dd < d2):        n = res.group("num2")        print("номер1 {}, код {}, номер2 {}".format(            res.group("num1"), n[0], n[1:]))
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years