Файл: Практическая работа в строке заменить пробелы символом .docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 10.11.2023

Просмотров: 14

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


Практическая работа

В строке заменить пробелы символом *


В строке заменить пробелы звездочкой. Если встречается подряд несколько пробелов, то их следует заменить одним знаком "*", пробелы в начале и конце строки удалить.

Решение данной задачи классическим способом, без использования продвинутых возможностей Python, может быть таким.

Сначала избавляемся от пробелов в начале и конце строки, если они имеются. Для этого перебираем строку посимвольно сначала или с конца. Как только встречается первый не пробельный символ, берем срез от него до конца строки или до начала, в случае удаления пробелов с конца.

Далее снова посимвольно перебираем строку. Если очередной символ не является пробелом, то формировать новую строку добавлением к ней этого символа. В ветку elif попадают символы пробела, но здесь проверяется не был ли равен предыдущий символ пробелу. Если это не так (не был равен), то только тогда к новой строке добавляется "*". Лишние пробелы будут просто пропущены и не добавлены к новой строке.

s = input()

i = 0

while s[i] == ' ':

i += 1

s = s[i:]

 

i = len(s)

while s[i - 1] == ' ':

i -= 1

s = s[:i]

 

s_new = s[0]

i = 1

while i < len(s):

if s[i] != ' ':

s_new += s[i]

elif s[i - 1] != ' ':

s_new += '*'

i += 1

print(s_new + '!')

Пример выполнения скрипта:

one two three four f*ve six seven

one*two*three*four*f*ve*six*seven!


Однако в языке программирования Python данную задачу проще решить, преобразовав строку в список. С помощью метода split() строка разделяется на слова по пробелам. При этом неважно сколько их. Далее остается только снова собрать слова в строку. Проще это сделать строковым методом join():

s = input()

l = s.split()

s1 = '*'.join(l)

print(s1)