# 1) Преобразовать все строчные буквы в прописные и наоборот
def swap_case(input_string):
return input_string.swapcase()
# 2) Заменить последнее вхождение строки S1 на строку S2 в строке S
def replace_last_occurrence(S, S1, S2):
return S[::-1].replace(S1[::-1], S2[::-1], 1)[::-1]
# 3) Найти количество слов, содержащих ровно три буквы "А" в строке из заглавных слов
def count_words_with_three_As(input_string):
words = input_string.split()
count = 0
for word in words:
if word.count('А' == 3:
count += 1
return count
# 4) Проверить, чередуются ли в массиве положительные и отрицательные числа
def check_alternating_signs(arr):
alternating = True
for i in range(len(arr) - 1):
if (arr > 0 and arr[i + 1] > 0) or (arr < 0 and arr[i + 1] < 0):
return i + 1
return 0
# 5) Удалить из массива все одинаковые элементы, оставив их первые вхождения
def remove_duplicates(arr):
unique_elements = []
for item in arr:
if item not in unique_elements:
unique_elements.append(item)
return unique_elements
# Пример использования функций:
input_string = "Пример строки с Разными рЕГистРами"
S = "Это пример простого текста для замены последнего вхождения"
S1 = "пример"
S2 = "задача"
arr = [1, -2, 3, -4, 5, -6]
print("1) Преобразование регистра:", swap_case(input_string))
print("2) Замена последнего вхождения:", replace_last_occurrence(S, S1, S2))
print("3) Количество слов с тремя 'А':", count_words_with_three_As(input_string))
print("4) Проверка чередования знаков:", check_alternating_signs(arr))
print("5) Удаление дубликатов:", remove_duplicates(arr))
Преобразовать все строчные буквы в прописные и наоборот: your_string = "Пример строки для преобразования"
print(''.join(map(lambda x: x.lower() if x.isupper() else x.upper(), your_string))) 2 Заменить последнее вхождение строки S1 на строку S2 в строке S: S = "Это пример строки для замены последнего вхождения"
S1 = "строки"
S2 = "текста"
print(S[::-1].replace(S1[::-1], S2[::-1], 1)[::-1] ) 3 Найти количество слов, содержащих ровно три буквы "А": your_string = "ЭТО СТРОКА С ТРЕМЯ БУКВАМИ ААА И ЕЩЕ СЛОВАМИ БЕЗ А"
print(len(list(filter(lambda word: word.count('А') == 3, your_string.split())))) 4 Проверить чередование положительных и отрицательных чисел в массиве: your_array = [1, -2, 3, -4, 5, -6]
print(0 if all(x*y < 0 for x, y in zip(your_array, your_array[1:])) else next(i for i, (x, y) in enumerate(zip(your_array, your_array[1:]), 1) if x*y >= 0)) 5 Удалить все одинаковые элементы, оставив первые вхождения: your_array = [1, 2, 3, 1, 2, 4, 5, 3]
print(list(__import__('functools').reduce(lambda x, y: x + [y] if y not in x else x, your_array, [])))