Удаление лишних пробелов. Рекурсия
Описать функцию, которая извлекает из строки все лишние пробелы. Пробелы считаются лишними, если их подряд идет больше двух, если они стоят в конце строки после последней точки, если стоят после открывающегося парного знака препинания.
Написал такой код, но что-то не выходит, помогите решить пожалуйста.
1 2 3 4 5 6
s=str(input("Введите текст:")) for i in range(len(s)): if s[i] == ' ' and s[i+1] == ' ': s.replace(str(i),'') i=i-1 print(s)
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Удаление лишних символов
Помогите удалит лишние символы. У меня программа выгружает данные из базы и записывает в файл как.
Удаление лишних символов (не являющихся буквами и пробелами) из строки при помощи регулярных выражений
Добрый день. Пытаюсь удалить лишние символы из строки (все, что не является буквами и пробелами).

Удаление пробелов
Здравствуйте. Мне нужно убрать пробелы из файла. Пример входных данных : 132.10 45678.32 .
Удаление пробелов в тексте
найдите количество уникальных символов в тексте: The Zen of Python Beautiful is better than ugly.
![]()
![]()
35345 / 19945 / 4179
Регистрация: 12.02.2012
Сообщений: 33,093
Записей в блоге: 13
Что такое «парный знак препинания»?
Am I evil? Yes, I am!
![]()
![]()
16119 / 9755 / 2730
Регистрация: 21.10.2017
Сообщений: 21,624
Catstail, вангую скобки
![]()
2580 / 1454 / 267
Регистрация: 18.01.2021
Сообщений: 2,820
Сообщение от iSmokeJC 
вангую скобки
плюс кавычки (одинарные или двойные)
1039 / 309 / 76
Регистрация: 16.03.2020
Сообщений: 945
Попрошу знатоков регулярок поправить мои кривые ручки которые только 2 день знают примерно как составлять шаблоны, практически уверен что можно сделать это лучше. Но это также работает
1 2 3 4 5 6 7 8 9 10
import re string = input("Text: ") string = re.sub(r" +", " ", string) string = re.sub(r"\( +", '(', string) string = re.sub(r"\" +|\' +|\'.+ +\'|\".+ +\"", '"', string) string = re.sub(r"\[ +", '[', string) print(string)
Am I evil? Yes, I am!
![]()
![]()
16119 / 9755 / 2730
Регистрация: 21.10.2017
Сообщений: 21,624
Сообщение от rim41 
уверен что можно сделать это лучше
Сообщение от rim41 
только 2 день
Скоро дойдешь до диапазонов и сделаешь лучше
А уж когда дело дойдет до ретроспективной проверки, так вообще огонь получится. Дерзай, это интересно
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Удаление из строки пробелов и дубликатов
Задача: Вводится строка. Требуется удалить из нее повторяющиеся символы и все пробелы. Без.

Удаление цифр и пробелов в конце строки
Помогите написать программу , которая удаляет цифры и пробелы в конце строки, используя метод.

Удаление пробелов в строке вне кавычек
Почему код вместо удаления пробелов в строке вне кавычек удалет пробелы везде и появляются ещё.

Удаление пробелов слева от текста в текстовом файле
Привет! Есть такой txt, но к сожалению вначале стоят пробелы. Как их убрать в самом txt? 1.
Как в Python можно реализовать проверку html файла и удаление лишних тегов
Есть часть програмы, которая открывает файл html, и заменяет все что не считает тегами на любой.

Удаление повторяющихся пробелов из строки
На вход подается одна строка текста (не больше 255 символов). Нужно вывести эту же строку, удалив.

Рекурсия. Удаление лишних пробелов
Доброго времени суток! Подскажите как реализовать с помощью рекурсии задачу: описать функцию.
Удаление лишних пробелов
Вводится ненормированная строка, у которой могут быть пробелы в начале, в конце и между словами более одного пробела. Привести ее к нормированному виду, т.е. удалить все пробелы в начале и конце, а между словами оставить только один пробел.
Чтобы удалить все пробелы в начале строки, надо проверять первый символ, не является ли он пробелом, до тех пор, пока он им являться не будет. Если первый символ пробел, то его следует удалять.
Для удаления пробелов в конце используется примерно тот же алгоритм, что и для удаления в начале. Однако надо уменьшать на 1 индекс последнего элемента, если пробел был удален, или постоянно измерять длину строки (значение длины либо совпадает с последним индексом, либо меньше на 1).
Для удаления лишних пробелов внутри строки, надо, посимвольно перебирая строку, проверять, если очередной символ пробел, то не пробел ли следующий за ним. Если это так, то надо взять строку от начала до текущего (пробельного) символа включительно и присоединить к этой части часть строки, начинающуюся после второго пробела и до конца. При этом не надо увеличивать индекс элементов (т.к. может оказаться, что после удаленного пробела есть еще пробелы). Если же очередной символ не пробел или пробел, но после него идет не пробел, то надо перейти к следующему символу строки.
Pascal
удалить пробелы в строке паскаль
var
str: string;
i: byte;
begin
readln(str);
i := 1;
while str[i] = ' ' do
delete(str,i,1);
while str[length(str)] = ' ' do
delete(str, length(str), 1);
i := 2;
while i < length(str) do
if (str[i] = ' ') and (str[i+1] = ' ') then
str := copy(str,1,i) + copy(str,i+2,length(str))
else
i := i + 1;
writeln(str);
end.
drink who I mark ten one dump
drink who I mark ten one dump
Python
python удалить пробелы
s = input()
i = 0
while s[i] == ' ':
s = s[1:]
while s[len(s)-1] == ' ':
s = s[:-1]
i = 1
while i < len(s)-1:
if s[i] == ' ' and s[i+1] == ' ':
s = s[:i+1] + s[i+2:]
else:
i += 1
print(s)
ты что делаешь сейч
ты что делаешь сейч
В Python есть целый ряд строковых функций, позволяющих решить данную задаче проще: split(), join(), strip(), replace(), count().
КуМир
алг удаление пробелов
нач
лит s
цел i
ввод s
i := 1
нц пока s[i] = " "
s := s[2:длин(s)]
кц
нц пока s[длин(s)] = " "
s := s[1:длин(s)-1]
кц
i := 2
нц пока i < длин(s)
если s[i] = " " и s[i+1] = " " то
s := s[1:i] + s[i+2:длин(s)]
иначе
i := i + 1
все
кц
вывод s
кон
кто где когда и почему
кто где когда и почему
Basic-256
input s$
i = 1
while mid(s$,1,1) = " "
s$ = right(s$,length(s$)-1)
end while
while mid(s$,length(s$),1) = " "
s$ = left(s$,length(s$)-1)
end while
i = 2
while i < length(s$)
if mid(s$,i,1) = " " and mid(s$,i+1,1) = " " then
s$ = left(s$,i) + right(s$,length(s$)-i-1)
else
i = i + 1
endif
end while
print s$
where is ball
where is ball
Помогите. Python как убрать пробелы при выводе?
Капитан Гугл Искусственный Интеллект (146171) Это и есть «по-проще». Можешь вместо запятых ставить + и вокруг чисел str: str(a)+’+’+str(b). Можешь использовать старый стиль форматирования: «%d+%d»%(a,b) Но этот — самый понятный: в строку вместо фигурных скобок подставляется параметр метода format.
Илья ДанилинМастер (1523) 6 лет назад
Поставь в принте sep=» (руказывает чем разделять элементы)
Илья Данилин Мастер (1523) там две одинарные кавычки
## python 3
## f-строки
