В качестве ответа на задания отправляется ссылка на репозиторий в GitHub. В репозитории должен содержаться как минимум файл main.py с функциями.
Несмотря на разную сложность, каждое задание оценивается в 1 балл.
Максимально можно набрать 5 баллов.
Задача № 1 Напишите функцию get_sum, в качестве параметра принимает два целых числа и возвращает результат их сложения
Пример:
(1, 2) => 3
(2, 2) => 4
Задача № 2 Написать функцию count_capital_letters, которая в качестве параметра принимает строку состоящую из букв и пробелов(без цифр) и возвращает количество заглавных букв в строке.
Пример:
"Hello World" => 2
" A " => 1
Задача № 3 Написать функцию decode_string, которая в качестве параметра принимает строку и возвращает преобразованную строку так, чтобы каждый символ в новой строке был «(» если этот символ встречается только один раз в исходной строке, или «)» если он встречается более одного раза. При определении дубликатов не учитывать регистр букв.
Пример:
"din" => "((("
"recede" => "()()()"
"Success" => ")())())"
"(( @" => "))(("
Задача № 4 Написать функцию get_odd_count, которая в качестве параметра принимает строку и возвращает целое число, которое соответствует количеству четных чисел в строке. Строка содержит только цифры, без разделителей. Ноль считать нечетным.
Пример:
"2468" => 4
"13579" => 0
"01234567" => 3
Задача № 5 Пишем функцию для управления умным домом
Написать функцию check_access которая на основе булевых параметров: has_keycard (bool): Наличие действующей ключ-карты. has_fingerprint (bool): Совпадение отпечатка пальца. is_alarm (bool): Сработала ли сигнализация (True - тревога!). is_daylight (bool): Дневное ли время (True - день).
Возвращает. Решение об открытии двери (True - открыть, False - не открывать).
Правила доступа:
Дверь можно открыть ключом-картой ИЛИ с помощью отпечатка пальца.
Однако, даже при наличии ключа или отпечатка, дверь НЕ откроется, если сработала сигнализация (например, при взломе).
Для дополнительной безопасности, если используется ключ-карта, система требует, чтобы в этот момент был дневной свет (имитация работы датчика освещенности). Это правило НЕ применяется к отпечатку пальца.
Пример:
print("Тест 1 (Ключ, день, нет тревоги):", check_access(True, False, False, True)) # Ожидается: True print("Тест 2 (Ключ, ночь, нет тревоги):", check_access(True, False, False, False)) # Ожидается: False (для ключа нужен день) print("Тест 3 (Палец, ночь, нет тревоги):", check_access(False, True, False, False)) # Ожидается: True (для пальца день не нужен) print("Тест 4 (Палец, день, но ЕСТЬ тревога):", check_access(False, True, True, True)) # Ожидается: False (тревога блокирует все) print("Тест 5 (Ключ И палец, день, нет тревоги):", check_access(True, True, False, True)) # Ожидается: True print("Тест 6 (Ничего нет):", check_access(False, False, False, True)) # Ожидается: False