Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 10.11.2022
Сообщений: 26

Работа со строками, оптимизация

07.12.2022, 00:44. Показов 404. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача выглядит так:
Составить программу, которая преобразует строку к строке указанного
размера, путём добавления пробелов между словами.

Программа:
Python
1
2
3
4
5
6
7
8
9
10
s = input()
size = int(input())
 
if size > len(s):
    if s.count(' ') == 0:
        s += (size - len(s)) * ' '
    else:
        s = s.replace(' ', (size - len(s)) // s.count(' ') * ' ' + ' ').replace(' ', (size - len(s)) % s.count(' ') * ' ' + ' ', 1)
 
print(s)
Возможно ли как то дополнительно оптимизировать данный код?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.12.2022, 00:44
Ответы с готовыми решениями:

Оптимизация работы со строками
Снова здравствуйте! В этот раз хотелось бы выслушать предложения по оптимизации алгоритма для определения похожести строк. Данный метод в...

Работа с текстовыми строками. Дополнительные работы со строками
кто поможет сделать задание Ввести два отдельный строки, которые содержат как минимум по 4 слова. Выполнить Такие действия: ...

Работа со строками, заполнить компоненты строками из файла
Привет! Нужна помощь в заполнении формы В общем, есть форма отправки письма. У нее есть 2 функции, сохранить письмо и открыть письмо (на...

2
398 / 255 / 98
Регистрация: 04.11.2022
Сообщений: 378
07.12.2022, 07:34
Лучший ответ Сообщение было отмечено Scetowod как решение

Решение

Может быть, разбить строку на слова и собрать снова?
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
s = input()
size = int(input())
 
if size > len(s):
    if s.count(' ') == 0:
        s += (size - len(s)) * ' '
    else:
        n = size - len(s) + s.count(' ') #сколько должно быть пробелов
        a = s.split()
        m = len(a) - 1 #число промежутков
        len1, d = divmod(n, m) #базовая длина промежутка и число промежутков длиной len1+1
        if d:
            s = (' '*(len1+1)).join(a[:d+1]) + ' '*len1 + (' '*len1).join(a[d+1:])
        else:
            s = (' '*len1).join(a)
        
print(s)
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
aa  b c d
9
aa  b c d
 
aa  b c d
10
aa  b  c d
 
aa  b c d
11
aa  b  c  d
 
aa  b c d
12
aa   b  c  d
 
aa  b c d
13
aa   b   c  d
1
0 / 0 / 0
Регистрация: 10.11.2022
Сообщений: 26
07.12.2022, 12:49  [ТС]
Есть возможность решить это без списков?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.12.2022, 12:49
Помогаю со студенческими работами здесь

Работа с текстовыми строками. Базовые операции со строками
1. Введите три отдельных символа. Проверьте, есть ли хотя бы в одном из них буква или цифра. 2. Введите три отдельные строки текста....

Работа со строками(операции над строками)
Пусть дана последовательность, содержащая от 2 до 50 слов, в каждом из которых от 1 до 8 строчных латинских букв; между соседними словами...

Работа со строками. Функции работы со строками
Дана строка символов. В заданном тексте определить позицию первой точки ‘ . ‘.

Работа с строками,Работа со структурными типами данных,Работа с файлами!!
Помогите написать программы для следующих заданий....буду очень благодарен.) 1)Разработать программу которая удаляет все слова в...

Типы оптимизация: черная оптимизация, серая оптимизация и белая оптимизация
Много много лет назад, на заре становления профессии "оптимизатора" в какой то умной книжке был создан миф. Это миф о цветовой индефикации...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru