From 581379e6d975173387ae8b5cdc9ddfaefcb49869 Mon Sep 17 00:00:00 2001 From: Zver Date: Mon, 15 Dec 2025 14:34:40 +0500 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB=2016=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson.16.py | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 lesson.16.py diff --git a/lesson.16.py b/lesson.16.py new file mode 100644 index 0000000..a19792c --- /dev/null +++ b/lesson.16.py @@ -0,0 +1,59 @@ +''' ****** Задание 16 из 20 ********* +* Вы снова работаете над лентой новостей для сайта. +Теперь заголовки могут занимать несколько строк, но при этом всё равно нужно соблюдать лимит: если заголовок слишком длинный — он должен быть сокращён и завершён многоточием .... + +Эта задача поможет вам научиться учитывать длину строк, переносы и условия обрезки текста. + +Напишите программу, которая по заданному количеству строк и максимально допустимой длине: + +выводит заголовок, при необходимости обрезая его; +если заголовок слишком длинный — заменяет последние символы на ...; +если строки заканчиваются слишком коротко, ... может перейти в предыдущую строку. +Формат ввода +Вводится натуральное число +L — необходимая длина заголовка. +Вводится натуральное число +N — количество строк в заголовке новости. +В каждой из последующих +N строк записано по одной строке заголовка. + +Формат вывода +Сокращённый заголовок. + +Примечание +Многоточие учитывается при подсчёте длины заголовка. +Символ перевода строки при подсчёте длины не учитывается. + + +Подсказка +Учтите следующие варианты: + +все строки в сумме по длине меньше чем требуется - выводится все что есть; +все строки в сумме превышают требуемую длину: +в последней строки более 3х символов - в последнюю строку вместо 3х последних символов добавляется многоточие; +в последней строке менее 3х символов - последняя строка удаляется, а многоточие добавляется в предпоследнюю строку. +Пример 1 +Ввод + +144 +5 +Энтузиаст написал программу для управления громкостью с помощью жестов, чтоб не вставать с дивана +Благодаря ей он может регулировать громкость, +показывая расстояние между большим и указательным пальцами. +Для этого ему понадобилась веб-камера, знания Python и +библиотека для работы с компьютерным зрением. +Вывод + +Энтузиаст написал программу для управления громкостью с помощью жестов, чтоб не вставать с дивана +Благодаря ей он может регулировать громкость... +''' + + +if __name__ == "__main__": + length, line = int(input()), [] + for _ in range(int(input())): + line.append(input()) + for i in line: + if length > 3: + print(i[:length - 3] + "..." if len(i) >= length - 3 else (i + "..." if length == 4 else i)) + length -= len(i) \ No newline at end of file