Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Задачи на Python.

Арсений Цебоев Ученик (97), открыт 3 недели назад
1. Найти все вхождения строки-шаблона в исходной строке.
2. Для каждого найденного вхождения:
- Если длина шаблона четная, заменить все символы шаблона на символы в верхнем регистре и добавить к исходной строке в обратном порядке.
- Если длина шаблона нечетная, заменить все символы шаблона на символы в нижнем регистре и добавить к исходной строке в прямом порядке.
3. Вывести полученную строку.
1 ответ
Андерхай Мастер (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)
Похожие вопросы