Сделал 16 задание
This commit is contained in:
parent
e3ab2d1646
commit
581379e6d9
59
lesson.16.py
Normal file
59
lesson.16.py
Normal file
|
|
@ -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)
|
||||
Loading…
Reference in a new issue