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

Требуется все пробелы в ней заменить на пары пробелов

30.04.2021, 16:50. Показов 4736. Ответов 20

Студворк — интернет-сервис помощи студентам
Дана строка символов. Требуется все пробелы в ней заменить на пары
пробелов.
Необходимо проходить по массиву лишь один-два раза и использовать только константную дополнительную память, за исключением памяти под дополнительный массив/строку.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.04.2021, 16:50
Ответы с готовыми решениями:

Удалить в строке все лишние пробелы, то есть серии подряд идущих пробелов заменить на одиночные пробелы
Я уже решал эту задачу с помощью циклов и символьных массивов, и выкладывал на этот форум , но я не знаю как решить её , с помощью типа...

Заменить все пары одинаковых символов на пробелы (си)
Есть программа, она заменяет на пробел все символы, которые совпадают с первым, ее надо переделать так , чтоб чтоб она искала пары...

В символьной матрице, которая не содержит пробелов, заменить все гласные буквы на пробелы
Помогите пожалуйста с программкой. В символьной матрице GL(M,N), M≤12, N≤16, которая не содержит пробелов, заменить все гласные буквы на...

20
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
30.04.2021, 17:10
Python
1
input().replace(' ', '  ')
1
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
30.04.2021, 18:59
iSmokeJC, даже без регулярок? стареешь... сдаешь позиции
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
30.04.2021, 19:24
Welemir1,

Не по теме:

я и так уже всех одолел с этими регулярками

0
0 / 0 / 0
Регистрация: 24.10.2020
Сообщений: 140
05.05.2021, 19:20  [ТС]
А как это сделать, не используя штатных функций python?
Вручную работая со строками

Добавлено через 6 минут
iSmokeJC,
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
05.05.2021, 19:23
dsfds, идешь циклом по массиву, когда встречаешь пробел -вставляешь еще один.
1
0 / 0 / 0
Регистрация: 24.10.2020
Сообщений: 140
05.05.2021, 19:25  [ТС]
А как вставлять еще один?
И не надо для этого расширять массив?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
05.05.2021, 19:27
Python
1
2
3
s = input()
ss = ''.join('  ' if i == ' ' else i for i in s)
print(ss)
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
05.05.2021, 19:28
Цитата Сообщение от dsfds Посмотреть сообщение
А как вставлять еще один?
также как и любой другой элемент естественно

Цитата Сообщение от dsfds Посмотреть сообщение
И не надо для этого расширять массив?
исходный не трогай -это всегда лучший совет, просто создай новый и из исходного в него кидай (удваивая при пробеле)
2
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
06.05.2021, 11:19
Цитата Сообщение от dsfds Посмотреть сообщение
А как это сделать, не используя штатных функций python?
replace() - это не функция а метод. Вы уж тогда напишите весь список того, что нельзя использовать, если кто то берется решать задачу с ограничениями. Я принципиально против любых ограничений в применении питона при решении задачи.
iSmokeJC, Не понятно какие у ТС ограничения. Кстати join() так же как и replace() является методом. Поэтому с точки зрения ограничений между обоими вариантами нет разницы.
1
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
06.05.2021, 11:22
Viktorrus, раз уж пошла такая пьянка - без штатных функций ты даже не получишь строку для обработки

Добавлено через 50 секунд
И вообще - задача явно из курса по С. В таком виде к питону она вообще неприменима
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
06.05.2021, 11:24
Цитата Сообщение от dsfds Посмотреть сообщение
Вручную работая со строками
Для этого нужно взять обычный текстовый редактор и вручную вставить дополнительные пробелы. Это будет вручную.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
06.05.2021, 11:27
Лучший ответ Сообщение было отмечено dsfds как решение

Решение

Python
1
2
3
4
5
6
res = ''
for i in input():
   if i==' ':
      res += ' '
   res += i
print(res)
Добавлено через 25 секунд
Вот и все. О чем собсно Welemir1 уже давно говорил
1
0 / 0 / 0
Регистрация: 24.10.2020
Сообщений: 140
06.05.2021, 11:28  [ТС]
Welemir1, получается надо пройтись по массиву, записать номера всех ячеек где стоит пробел, и создать новый массив увеличенный на количество этих ячеек и заполнить его так же, только добавляя нужные пробелы?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
06.05.2021, 11:29
dsfds, какой массив? Питон - это не Си!!
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
06.05.2021, 11:40
iSmokeJC, Только input() и print() нужно убрать, так как это функции.

Добавлено через 7 минут
iSmokeJC, Строка должна даваться в коде изначально, что бы избавится от input(). а что бы не было print(), нужно использовать IDLE, там результат выводится без print().
0
0 / 0 / 0
Регистрация: 24.10.2020
Сообщений: 140
06.05.2021, 11:41  [ТС]
Я строку считываю с файла
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
06.05.2021, 11:43
Цитата Сообщение от Viktorrus Посмотреть сообщение
нужно использовать IDLE, там результат выводится без print()
Чего??

Добавлено через 1 минуту
Не надо путать цензура с трамвайной ручкой. Консоль питона прекрасно существует и в пайчарме
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
06.05.2021, 11:44
Цитата Сообщение от dsfds Посмотреть сообщение
Я строку считываю с файла
Тогда без функции никак.
Вам придется написать список, какие функции можно использовать, а какие нельзя.
0
0 / 0 / 0
Регистрация: 24.10.2020
Сообщений: 140
06.05.2021, 11:46  [ТС]
имелось ввиду без функций, которые решают сразу эту задачу)
Согласен, надо было сразу это указать
Но выяснилось это тоже не сразу, а только после
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.05.2021, 11:46
Помогаю со студенческими работами здесь

Дана строка символов. Заменить в ней все пробелы на табуляции
#include <iostream> #include <conio.h> using namespace std; int main() { int i=0, j=0; char strok="This is a small...

Дана строка символов. Заменить в ней все пробелы на табуляции
Здравствуйте! Ребят, помогите решить следующие задачи : Тема: Обработка строк 1)Дана строка символов. Заменить в ней все...

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

Последовательности следующих друг за другом пробелов заменить одним пробелом (т.е. удалить все пробелы, следующие непосредственно за пробелом)
Последовательности следующих друг за другом пробелов заменить одним пробелом (т.е. удалить все пробелы, следующие непосредственно за...

Не считает пробелы, выдает ошибку.Выяснить, сколько в ней символов-разделителей (пробелов, точек, тире, запятых ит.д.)
s: string; L: integer; i: integer; k: integer; begin write('Введите строку:');readln(s); L:=length(s); for...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru