Перейти к содержимому

Как добавить пробелы в строку python

  • автор:

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

Теперь в такую же строку по длине(там будут другие символы, но для примера оставим эту) должны вставиться пробелы из списка. У меня были попытки со срезами но это не работает так как надо. Может есть другой способ?

encrypt2 = "" k = 0 pov = 0 if(len(index_prob) > 0): while( k < len(index_prob)): if k == 0: encrypt2 += str_new[ : index_prob[k]] + " " print(encrypt2) elif k == len(index_prob) - 1: encrypt2 += str_new[index_prob[k] - k : ] print(encrypt2) else: encrypt2 += str_new[len(encrypt2) - 1 : index_prob[k] - 1] + " " print(encrypt2) k += 1 print(encrypt2) 

Такой вопрос. Как мне вставить пробелы в строку, по индексам хранящимся в списке. Это так же должно работать когда есть много пробелов. Подскажите пожалуйста.

str = "sdf dsf hgfh" sdfdsfhgfh [3, 4, 5, 9, 10] 

Как вставить пробел после каждого третьего символа в строке Python?

Например, на вход попадает число 100000. На выходе должно получится 100 000.

  • Вопрос задан более года назад
  • 1180 просмотров

Комментировать
Решения вопроса 1

Из какого словаря? В каком формате данные представлены в этом словаре? Разделять надо начиная слева или справа? Это конечно великая тайна автора, о которой он никому не поведает.
Но, для простейшего случая, если речь идет только в ВЫВОДЕ данных , изначально хранимых в виде чисел (между прочим - целых или даже float) то вот так:

a=10000000000 print(''.format(a).replace(',', ' '))

Результат:
10 000 000 000
А если вы имели ввиду что-то другое - ну так тюнингуйте мой пример под свои потребности самостоятельно. И учитесь свои мысли высказывать точно и однозначно. Это умение необходимо для программиста.

Ответ написан более года назад
Комментировать
Нравится Комментировать
Ответы на вопрос 0
Ваш ответ на вопрос

Войдите, чтобы написать ответ

python

  • Python
  • +3 ещё

Как сделать так, чтобы при регистрации пользователя в телеграмм боте его ID сохранялся в файле только один раз?

  • 1 подписчик
  • 10 минут назад
  • 11 просмотров

Пробелы в выражениях и операторах языка Python

Однако при объединении аннотации аргумента со значением по умолчанию используйте пробелы вокруг знака '=' :

# Правильно def munge(sep: AnyStr = None): . def munge(input: AnyStr, sep: AnyStr = None, limit=1000): . 
# Неправильно def munge(input: AnyStr=None): . def munge(input: AnyStr, limit = 1000): . 
# Правильно if foo == 'blah': do_blah_thing() do_one() do_two() do_three() 
# Неправильно if foo == 'blah': do_blah_thing() do_one(); do_two(); do_three() 
# Неправильно if foo == 'blah': do_blah_thing() for x in lst: total += x while t  10: t = delay() if foo == 'blah': do_blah_thing() else: do_non_blah_thing() try: something() finally: cleanup() do_one(); do_two(); do_three(long, argument, list, like, this) if foo == 'blah': one(); two(); three() 
  • ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
  • Разметка кода Python, PEP 8
  • Пробелы в выражениях и операторах языка Python
  • Когда использовать запятые в коде на Python
  • Комментарии в коде языка Python
  • Соглашения об именах
  • Рекомендации по программированию на Python

ХОЧУ ПОМОЧЬ
ПРОЕКТУ

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

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

Решение задачи на языке программирования Python

Решение данной задачи классическим способом, без использования продвинутых возможностей 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)

X Скрыть Наверх

Решение задач на Python

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *