Справка о междугороднем тел. разговоре содержит: номер телефона абонента(6 цифр),дату(год, месяц, число),время(час, минута), код города(3 цифры), номер телефона в другом городе(7 цифр), продолжительность разговора(в минутах),категорию(, обычный) и тариф(плата в рублях за минуту). вывести на экран номер телефона абонента код города и номер телефона в другом городе для телефонных разговоров, состоявшихся между 15 марта и 12 апреля 1996 года.
156
467
Ответы на вопрос:
#! /usr/bin/python3 ''' пологаю, условие как есть: без пробелов, без ocr, без какого-либо форматирования т.е. вводные строки текста выглядят так: я добавил поддержку некоторых разделителей в выражение, на случай если они всётаки имеются тестовые данные: 123456 1996-03-29 1234567 987 000 тогда, решаем это с регулярных выражений как видно, в условии не сказано, что считать за код города. предположим, что код города - это первая цифра от num2 ''' import re import datetime r = re.compile( r'\s*(? p< num1> \d{6})\s*(? p< y> \d{4})< m> \d{2})< 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: ]))
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
софья2005401.09.2021 10:00
-
avysocka27.12.2020 15:35
-
elisaveta27200212.07.2020 09:55
-
yoongiswag27.04.2022 13:38
-
litovka01.01.2023 09:16
-
LOlka22832229.08.2020 06:28
-
SerPol23.09.2021 11:07
-
Mамикс30.05.2021 05:08
-
Madinauakhitova21.04.2022 13:25
-
dimapudov200703.05.2022 01:42
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.