Вопрос задан 01.09.2026 в 15:56.
Предмет Информатика.
Спрашивает Муркин Ваня.
Python. Распределите пробелы. Дана строка, содержащая по крайней мере один не ведущий пробел, за которым следует отличный от пробела символ. За счёт изменения групп пробелов внутри строк (количества пробелов между словами) добиться того, чтобы в начале и в конце каждой из строк пробелы отсутствовали. Количество пробелов в разных группах внутри одной строки должно различаться не более чем на единицу. Количество символов в строке должно остаться неизменным.
Входные данные
На вход программе подаётся строка, состоящая не более чем из 255 символов.
Выходные данные
Выведите преобразованную строку. Если количество пробелов между словами отличается, то сначала должны идти группы пробелов минимального размера, а затем — на единицу большего размера.
Ввод:
ABCD XYZ QWE
Вывод:
ABCD XYZ QWE
Ответы на вопрос
Отвечает Кособуцький Микола.
Нужно сохранить порядок слов и общее число символов. Все пробелы, включая начальные и конечные, считаем общим запасом, а потом распределяем их только между словами.
Решение на Python:
s = input()
words = s.split()
spaces = len(s) - sum(len(w) for w in words)
gaps = len(words) - 1
base = spaces // gaps
extra = spaces % gaps
ans = words[0]
for i in range(gaps):
cnt = base + (1 if i >= gaps - extra else 0)
ans += ' ' * cnt + words[i + 1]
print(ans)
Сначала идут группы пробелов размера base, а последние extra групп получают на один пробел больше.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

