Справка о междугороднем тел. разговоре содержит: номер телефона абонента(6...

0 голосов
59 просмотров

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


Информатика (14 баллов) | 59 просмотров
Дан 1 ответ
0 голосов

#!/usr/bin/python3

'''
пологаю, условие как есть: без пробелов, без OCR, без какого-либо форматирования

т.е. вводные строки текста выглядят так:

aaaaaayyyymmddbbbbbbbccccсрочныйeeee

я добавил поддержку некоторых разделителей в выражение, на случай если они
всётаки имеются

тестовые данные:
123456199601011234567987срочный000
123456199603291234567987срочный000
123456 1996-03-29 1234567 987 срочный 000
123456200109111234567987срочный000

тогда, решаем это с помощью регулярных выражений

как видно, в условии не сказано, что считать за код города. предположим,
что код города - это первая цифра от num2
'''

import re
import datetime

R = re.compile(
    r'\s*(?P\d{6})\s*(?P\d{4})\-?(?P\d{2})\-?(?P\d{2})\s*'
    r'(?P\d{7})\s*'
    r'(?P

(198 баллов)