Created
January 17, 2019 17:22
-
-
Save LostInKadath/28418e5902ab63e9c9c553299fe8fa42 to your computer and use it in GitHub Desktop.
Заменить символ в каждом слове, ограниченном разделителями
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'''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