Skip to content

aPyRoit/control-point-1-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 

Repository files navigation

В качестве ответа на задания отправляется ссылка на репозиторий в 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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages