Андерхай
Мастер
(1048)
3 недели назад
def modify_string(original_string, pattern):
# Найти все вхождения шаблона в исходной строке
index = 0
modified_string = original_string # Скопировать оригинальную строку для дальнейших модификаций
occurrences = [] # Список для хранения всех вхождений шаблона
# Найти индексы всех вхождений шаблона в строке
while index < len(original_string):
index = original_string.find(pattern, index)
if index == -1: # Если шаблон больше не найден, выйти из цикла
break
occurrences.append(index)
index += len(pattern) # Переход к следующему индексу после вхождения
# Обработка каждого вхождения
for start in occurrences:
end = start + len(pattern) # Найти конец вхождения
substring = modified_string[start:end] # Получить подстроку-шаблон
# Проверить длину шаблона
if len(pattern) % 2 == 0:
# Если длина шаблона четная, заменить на верхний регистр и добавить в обратном порядке
modified_substring = substring.upper()[::-1]
else:
# Если длина шаблона нечетная, заменить на нижний регистр и добавить в прямом порядке
modified_substring = substring.lower()
# Обновить строку, добавляя модифицированное вхождение
modified_string += modified_substring
return modified_string
# Пример использования
original = "Hello, this is a sample string with sample words."
pattern = "sample"
result = modify_string(original, pattern)
print(result)
2. Для каждого найденного вхождения:
- Если длина шаблона четная, заменить все символы шаблона на символы в верхнем регистре и добавить к исходной строке в обратном порядке.
- Если длина шаблона нечетная, заменить все символы шаблона на символы в нижнем регистре и добавить к исходной строке в прямом порядке.
3. Вывести полученную строку.