Форум сайта python.su
Распределите пробелы
Дана строка, содержащая по крайней мере один не ведущий пробел, за которым следует отличный от пробела символ. За счет изменения групп пробелов внутри строк (количества пробелов между словами) добиться того, чтобы в начале и в конце каждой из строк пробелы отсутствовали. Количество пробелов в разных группах внутри одной строки должно различаться не более чем на единицу. Количество символов в строке должно остаться неизменным.
Входные данные
На вход программе подается строка, состоящая не более чем из 255 символов.
Выходные данные
Выведите преобразованную строку. Если количество пробелов между словами отличается, то сначала должны идти группы пробелов минимального размера, а затем — на единицу большего размера.
Примеры
Ввод
ABCD XYZ QWE
Вывод
ABCD XYZ QWE
Мой вариант решения
k = input() n = 0 while k[n] == ' ': k = k[1:] while k[len(k)-1] == ' ': k = k[:-1] n = 1 while n < len(k)-1: if k[n] == ' ' and k[n+1] == ' ': k = k[:n+1] + k[n+2:] else: n += 1 print(k)
Офлайн
Сначала нужно выбрать все пробелы. Потом надо посчитать количество промежутков между словами. Потом надо разделить количество пробелов на количество промежутков. И только потом можно заполнять промежутки между словами заново известным количеством пробелов.
Думаю, основная твоя проблема - это стремление к коротким кодам из-за страха обосраться прилюдно. Есть такое у многих новичков на начальных этапах. Но это именно то ограничение, которое и не даёт тебе развиваться. Надо сначала написать полный код любого размера, а потом уменьшать его. Так ты и придёшь к маленьким кодам, но которые работают. Полные коды ты будешь в голове писать, потом в голове будешь уменьшать их, а потом уже записывать их уменьшенными. А если наоборот будешь делать, изображая из себя профессионала, то ты будешь получать “Программа выдаёт неверный ответ” всегда и никогда ничему не научишься. В результате ты обосрёшься именно в виде неработающих программ, что гораздо заметнее и играет более важную роль в промышленной разработке. То, что ты полный ноль с короткими кодами, заметят очень быстро и постараются от тебя избавиться, так как ты никакой пользы не приносишь, а место занимаешь.
Отредактировано py.user.next (Апрель 14, 2021 22:05:15)
Офлайн