Сделал 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