Text Formatting

Text Formatting

Вам предоставлена длинная строка (набранная моноширинным шрифтом), и вы должны разбить ее, чтобы соблюсти заданную ширину. После этого вам нужно отформатировать текст в соответствии с заданным стилем: "l" означает, что вы должны выровнять текст по левому краю - left, "c" - по центру - center, "r" - по правому краю - right, а "j" означает, что вы должны выровнять текст по ширине - justify. И, наконец, строки вывода не должны заканчиваться пробелами.

Если для центрирования строки необходимо поставить 2 * n + 1 пробела вокруг строки, то перед ней ставится n пробелов, а не n + 1.

Правила выравнивания текста:

  • Поскольку мы не всегда можем поставить одинаковое количество пробелов между словами в строке, поместите большие блоки пробелов сначала. Например: X---X---X--X--X--X, когда вам нужно поместить 12 пробелов в 5 местах: 3-3-2-2-2.
  • Не выравнивайте последнюю строку текста.

Вам не нужно будет разбивать слово на две части, так как предоставленной ширины вполне достаточно.

Входные данные: Текст (строка - str), ширина (целое число - int) и стиль (строка - str).

Выходные данные: Отформатированный текст (строка - str).

Примеры:

assert (
    text_formatting(
        "Lorem...
You should be an authorized user in order to see the full description and start solving this mission.
49