def format_sentence(sentence: str) -> str:
    """
    Нерадивый ученик
    Ученик написал на доске предложение:
    'привет, мир. какая хорошая погода. мне все нравится.'
    Но он забыл, что предложения начинаются с большой буквы.
    Напишите функцию, которая принимает строку с таким предложением и возвращает новую строку, где все предложения начинаются с большой буквы.
    Считаем, что предложение может заканчиваться точкой.
    """
    return ""


assert format_sentence("") == ""
assert format_sentence("Привет.") == "Привет."

assert format_sentence(
    "анализ данных - лучшая профессия."
) == "Анализ данных - лучшая профессия."

assert format_sentence(
    "привет, мир. какая хорошая погода. мне все нравится."
) == "Привет, мир. Какая хорошая погода. Мне все нравится."


def make_abbreviation(entity: str) -> str:
    """
    Аббревиатура
    Напишите функцию, которая принимает название учреждения и возвращает аббревиатуру.
    Например, Министерство Иностранных Дел -> МИД
    или Российская Федерация -> РФ
    Нельзя привязываться к числу слов, их может быть бесконечное число.
    Буквы в entity могут быть как большими, так и маленькими.
    Если в entity одно слово, то вернуть его первую букву, например:
    'учреждение' 
    """
    return ""


assert make_abbreviation("") == ""
assert make_abbreviation("учреждение") == "У"
assert make_abbreviation("Российская Федерация") == "РФ"
assert make_abbreviation("министерство иностранных дел") == "МИД"
assert make_abbreviation(
    "союз   советских   социалистических  республик") == "СССР"


def get_local_maximums(lst: list[int]) -> list[int]:
    """
    Локальные максимумы
    Напишите функцию, которая принимает список и возвращает список локальных максимумов.
    Локальный максимум - это элемент, который:
    - больше предыдущего
    - больше следующего

    Например: 
     - [1,2,5,3,4,7,8,3,2,0] -> [5, 8]
     - [3,2,1] -> [] пустой список, не лок. максимумов.

    """
    return []


assert get_local_maximums([8, 7, 6, 5, 4]) == []
assert get_local_maximums([8, 10, 6, 5, 4]) == [10]
assert get_local_maximums([1, 4, 2, 5, 10, 3, 2]) == [4, 10]
assert get_local_maximums([1, 2, 5, 3, 4, 7, 8, 3, 2, 0]) == [5, 8]


def sum_positive(lst: list[int]) -> int:
    """
    Сумма положительных
    Написать функцию, которая принимает список чисел и вернет сумму только положительных элементов.
    Для пустого списка вернуть 0. Аналогично, вернуть 0 если нет ни одного положительного элемента.
    Например:
    - solution([]) -> 0
    - solution([1, 2, -3]) -> 3
    - solution([3, 4, -2, 7, -10, 12]) -> 26
    """
    return 0


assert sum_positive([]) == 0
assert sum_positive([14]) == 14
assert sum_positive([2, 5, 8]) == 15
assert sum_positive([3, -2, -2, -15, -10, 12]) == 15
assert sum_positive([1, 2, -3]) == 3
assert sum_positive([3, 4, -2, 7, -10, 12]) == 26
assert sum_positive([-3, -4, -2, -7, -10, -12]) == 0
