Следуй указаниям файла Инструкция.docx
創建於:2026年11月5日
使用 GPT-6 Thinking 回答 Chat01
創建於:2026年11月5日
使用 GPT-6 Thinking 回答 Chat01
Следуй указаниям файла Инструкция.docx
✅ Контрольный маркер прочитан: "Синий попугай читает Розенталя". Приступаю к проверке по правилам файла.
Скачать Python-скрипт · Скачать исправленный Word-документ
pythonfrom docx import Document from docx.shared import Pt, Cm, RGBColor from docx.enum.text import WD_ALIGN_PARAGRAPH import re TRACKED_TEXT = """Командировка. Первые несколько минут, пока блок-такси мчалось по подвесным ярусам, Джон по привычке дремал. Требовалось добрать недостаток сна, который накапливался за полную неделю. Как[[~,]] говорил[[~,]] директор Тернер - пока ты спишь, твой конкурент штампует бабло. Может[[+,]] и так. Но временами Джону казалось, что пусть уже этот конкурент напечатает все бабло и успокоится, а он - Джон, подберет, что останется[[+,]] и ему хватит на еду до конца месяца и оплату своего угла на Каледония-стрит, прямо напротив канала. В районе Старой площади качество покрытия менялось и этот гул будил Спенсера. Он открыл глаза и начал массировать лицо, чтобы прийти в себя. Ведь прибытие домой не означало конец рабочего дня. После ужина ему требовалось еще посидеть с документами. В конце концов, он теперь начальник отдела сбыта. Еще полгода назад он мог себе позволить отдыхать[[+,]] уже выйдя из офиса, но повышение по службе и увеличения жалования[[~,]] требовали от него совершенно иного участия в делах компании. Как говорил директор Тернер - носись задрав штаны. И Спенсер носился, временами мечтая бросить все и вернуться на прежнюю должность. Впрочем, это были краткие приступы депрессии и слабости. Но[[+,]] выходя из блок-такси, он первым делом шел до конца канала и там в автомате "Бикси-дакс" покупал бутылочку бодрящего напитка. Да, говорили, что вредно, да говорили, что лицензия препарата не распространяется дальше окраин, но Спенсеру этот препарат был нужен, чтобы соответствовать требованием его новой должности. В конце концов, могли взять кого угодно: Фрайзера - он с отличием закончил академию всего пару лет назад, Гугса - у него дядя в правлении, Лену Осборн, которая выглядела, как кинозвезда, и[[+,]] как болтали, имела связь с начальником службы безопасности компании - отставным полковником Кроссом. Как-то Спенсер, набравшись смелости, пригласил Лену на свидание, а потом к ним в отдел зашел полковник Кросс[[~,]] выпроводил всех остальных в коридор и сказал… Впрочем, Спенсер предпочитал не вспоминать, просто с тех пор он эту Лену… Он ее перестал не только замечать, но даже видеть. Блок-такси остановилось, Спенсер коснулся платежного терминала[[+,]] и с его счета списалась традиционная такса. Лишь после этого разблокировалась дверь и Джон вышел на тротуар, осторожно переводя дух, чтобы не получить шок от той вони, что исходила от иловых отложений канала. Из него полностью спустили воду и начали чистку дна, однако вместо обещанной недели это длилось уже месяц[[+,]] и за это время Спенсер смог стать свидетелем того, что находилось на самом дне канала, который не чистили лет пятьдесят. Велотрайки и металлическая мебель, мода на которую была лет сто назад, оказались не самым интересным, что покоилось в густых илистых отложениях. А вот когда на улицу стали регулярно прибывать полицейские с микроавтобусами судебных экспертов, тут уже Спенсер заинтересовался. Оказывается[[+,]] были времена, когда свои споры бизнесмены решали очень просто и останки многих из них оказались на дне канала, с неизменным грузом на нижних конечностях. Кому-то не повезло с бетонным блоком, другим крепили на ноги куски сломанной тут же ограды, а иным достались гантели. Хорошие такие гантели, Спенсер видел из своего окна, как их снимали с костей какого-то бедняги. У него самого были примерно такие же, он купил их очень выгодно по скидке. Отличные гантели, правда[[+,]] он к ним почти не притронулся. Если не считать случая, когда они напились с одним приятелем и приехали из ресторана к Джону домой, специально чтобы померяться, кто лучше качает бицепс. Спенсер шагал вдоль канала, изредка поглядывая вниз, где на глубине пятидесяти метров самозабвенно перелопачивали слизистую грязь роботы-чистильщики, похожие на каких-то мерзких жуков. Они монотонно загребали своими лопастями жидкую жирную грязь и проталкивали ее по длинной прозрачной кишке куда-то в сторону Центрального вокзала. Кишка тянулась очень далеко. "Зачем было рыть такие глубокие каналы?" - думал Спенсер[[+,]] шагая к перекрестку, где его ждала заветная бутылочка "коки-пайн". Где-то в глобальной сети он видел города, окруженные мелкими каналами, ну[[+,]] может[[+,]] на два-три человеческих роста глубиной, а тут - пятьдесят метров, а на Вентури-стрит глубина канала[[~,]] якобы[[~,]] достигала двухсотметровой глубины. Для каких нужд, спрашивается? Отстранившись от этих далеких от профессиональной деятельности размышлений, Спенсер заметил субъекта, который крался по противоположной стороне улицы. - Вот урод, - произнес Спенсер. Он узнал субъекта, но пока решил не обращать на него внимание. Может[[+,]] они еще разминутся - такое случалось. Шагая быстро и отмахивая рукой, Спенсер быстро добрался до перекрестка. Постоял с полминуты, чувствуя на себе вихри[[~,]] от проносившихся мимо автомобилей, потом подошел к запыленному автомату, приложил ладонь к валидаторному экрану и[[+,]] дождавшись появления зеленого разрешительного огонька, выбрал "коку-пайн". Пить начал прямо на улице, старательно прогоняя мысли, что[[+,]] похоже[[+,]] слегка подсел на этот стимулятор. С другой стороны, он пил "коку" всего полгода. Ну, может быть[[+,]] чуть дольше, но это же пустяк. Стив Дреккер из экономического отдела сидел на ней два года и благополучно соскочил, как сам он сказал, поломавшись всего пару месяцев. Выпив полбутылочки, Спенсер побрел обратно, чувствуя легкое покалывание в икрах и легкий озноб. Так всегда бывало после "коки". И всегда хотелось, чтобы скорее пришло лето. Настоящее лето, а не то, что стояло сейчас на улицах. Если бы не "блоки Фрейзера", кольцом окружавшие город, тут бы часами моросили надоедливые дожди. А так они скатывались на границе зоны генераторов погоды и по широким водостокам уносились за сотню километров - в океан. Субъект на другой стороне улицы теперь снова следовал в одном со Спенсером направлении. "Достал уже, но я его не замечаю,"- подумал Джон, стараясь полностью отдаться состоянию легкости и подавляя в себе желание допить вторую половину бутылочки. Он сдерживался, потому что уже проходил это - стоит допить ее всю разом, как захочется еще одну. А так он сэкономит половинку на время после ужина, когда сядет за документы, чтобы еще раз убедиться, что скопившиеся там проблемы требуют властной руки начальства. И тогда завтра с утра уже к директору. Проехал туристический бинбус с площадкой на втором ярусе. Похоже[[+,]] там было какое-то веселье и кто-то даже танцевал. А вот улица[[+,]] на которой жил Спенсер[[+,]] была далека от туристических стандартов - полузаброшенный район, на который городские власти давно махнули рукой. Пока еще вывозили мусор и проводили уборку улиц - и на том спасибо. Правда[[+,]] благодаря заброшенности района[[~,]] цена за жилье для Спенсера была весьма доступной. Бинбус притормозил[[+,]] и полтора десятка туристов, сбившись на правый борт площадки, стали жадно таращиться на[[~,]] уходившую за край бетонного желоба бездну старого канала. Как только началась его чистка, туристические фирмы вовремя среагировали на появление новой достопримечательности, а до этого Спенсер никаких туристических транспортов здесь не видел. Перейдя на другую сторону проулка, он подошел к своей двери и бросил взгляд вдоль выщербленного тротуара, но уже не увидел своего навязчивого знакомого, поэтому с облегчением коснулся магнитным ключом позеленевшей пластинки и[[+,]] услышав привычный щелчок, толкнул дверь. Первое, что бросилось ему в глаза, это ботинки огромного размера и запах чужого мужского одеколона. Тотчас заподозрив самое страшное, он распахнул следующую дверь и едва не закричал от отчаяния: его прекрасная Лиззи стонала и извивалась в объятиях какого-то потного здоровяка. Они были так увлечены, что не заметили прихода Спенсера! Первой его мыслью было схватить тяжелую статуэтку с тумбочки и врезать этому уроду, но вместо этого Спенсер выскочил на улицу, захлопнул дверь, а потом[[+,]] прислонившись к ней спиной и прикрыв глаза, стал налаживать дыхание. - Что, опять фурии? - прозвучало рядом. Спенсер приоткрыл один глаз: да, это был он - Кики. Маленький щуплый бомж, который, по мнению самого Спенсера, терроризировал его, выпрашивая подаяния. Все началось однажды с безобидной услуги - Кики вызвался помочь Спенсеру, когда тот, выйдя с блоком спрессованного мусора, не смог вложить его в свою мусорную ячейку - кто-то сумел взломать ее код и впихнул туда свой мусор. Джон тогда здорово разозлился и не знал[[+,]] что делать, просто стоял и пыхтел, а тут кстати подоспел Кики и предложил забрать мусор. - Я знаю площадочку, где для него найдется место, мистер, - сказал он и протянул грязную руку. Превозмогая отвращение, Спенсер отдал ему пакет, едва сдерживаясь, чтобы не сморщиться - от Кики крепко попахивало, ведь он ночевал в сточной трубе, не бывал трезвым и часто не поспевал в туалет. Спенсер ожидал, что бомж тотчас заведет разговор о вознаграждении за услугу, но тот убежал с чужим мусором и куда-то его утилизировал - скорее всего[[+,]] выбросил в канал. А дня через три подождал Спенсера возле двери его квартиры и попросил пару фунтов. Это была стоимость обеда в забегаловке среднего класса, для экономных людей[[+,]] и Спенсер дал бомжу эти два фунта, полагая, что теперь они в расчете. """ PATTERN = re.compile(r"($$\[\+,$$\]|$$\[~,$$\])") doc = Document() normal = doc.styles["Normal"] normal.font.name = "Arial" normal.font.size = Pt(12) normal.paragraph_format.line_spacing = 1.0 normal.paragraph_format.first_line_indent = Cm(1.25) normal.paragraph_format.space_before = Pt(0) normal.paragraph_format.space_after = Pt(0) for line in TRACKED_TEXT.split("\n"): paragraph = doc.add_paragraph() paragraph.alignment = WD_ALIGN_PARAGRAPH.JUSTIFY paragraph.paragraph_format.first_line_indent = Cm(1.25) paragraph.paragraph_format.line_spacing = 1.0 paragraph.paragraph_format.space_before = Pt(0) paragraph.paragraph_format.space_after = Pt(0) for fragment in PATTERN.split(line): if not fragment: continue if fragment == "[[+,]]": run = paragraph.add_run(",") run.font.color.rgb = RGBColor(0, 128, 0) run.font.bold = True run.font.underline = True elif fragment == "[[~,]]": run = paragraph.add_run(",") run.font.color.rgb = RGBColor(192, 0, 0) run.font.strike = True else: run = paragraph.add_run(fragment) run.font.name = "Arial" run.font.size = Pt(12) doc.save("corrected_text.docx") input("\nГотово! Нажмите Enter, чтобы закрыть окно...")