Skip to content

Instantly share code, notes, and snippets.

@LostInKadath
Created January 17, 2019 17:22
Show Gist options
  • Save LostInKadath/28418e5902ab63e9c9c553299fe8fa42 to your computer and use it in GitHub Desktop.
Save LostInKadath/28418e5902ab63e9c9c553299fe8fa42 to your computer and use it in GitHub Desktop.
Заменить символ в каждом слове, ограниченном разделителями
'''https://t.me/unilecs
Задача 152.
Дана строка слов `string` и массив возможных разделителей `delimiters`.
Словом считается последовательность символов между разделителями.
Заменить в каждом слове символ с порядковым номером `index` на заданный символ `symbol`.
Так как строка - неизменяемый тип данных, то мы вынуждены сначала разбить ее на что-то изменяемое - например, список.
Далее работаем со счетчиком символов. Если счетчик равен заданному индексу - заменяем символ.
Счетчик сбрасывается по достижении разделителя.
'''
def task152(string, delimiters, index, symbol):
result = list(string)
counter = 0
for i in range(len(result)):
counter += 1
if result[i] in delimiters:
counter = 0
elif counter == index:
result[i] = symbol
return ''.join(result)
print(task152f('Lorem ipsum dolor sit amet, consectetur adipiscing elit.', ' ', 2, '%'))
# L%rem i%sum d%lor s%t a%et, c%nsectetur a%ipiscing e%it.
print(task152('Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'mti', 1, '%'))
# %orem%i%sum%dolor sit%am%t% consect%t%r adi%i%ci%g elit%
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment