From 83651244fe5e87fb8e4b125170fa7bedcf755089 Mon Sep 17 00:00:00 2001 From: SerKin0 <71343548+SerKin0@users.noreply.github.com> Date: Wed, 18 Mar 2026 19:52:13 +0300 Subject: [PATCH] =?UTF-8?q?[1]=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D1=8B=20docstring=20=D0=BA=20=D1=84=D1=83=D0=BD?= =?UTF-8?q?=D0=BA=D1=86=D0=B8=D1=8F=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- skorohodovsa/task_1/linked_list.py | 40 ++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/skorohodovsa/task_1/linked_list.py b/skorohodovsa/task_1/linked_list.py index 9248ec7..d9a6948 100644 --- a/skorohodovsa/task_1/linked_list.py +++ b/skorohodovsa/task_1/linked_list.py @@ -25,6 +25,21 @@ def create_linked_list(data: list[dict]) -> dict: def ll_insert(head: dict, name: str, phone: str) -> dict: + """Добавление нового или редактирование элемента в связном списке + + Если пользователь уже есть в списке, то обновятся его данные (номер телефона). В случае если + данных нет, то они добавляются в конец. + + :param head: Список словарей с параметрами: {'name': str, 'phone': str, next: dict | None} + :type head: dict + :param name: Имя пользователя (не должно повторятся с имеющимися) + :type name: str + :param phone: Номер телефона пользователя (не должно повторятся с имеющимися) + :type phone: str + :raises ValueError: Ошибка при подаче на вход пустого списка + :return: Возвращает связный список с обновленными данными + :rtype: dict + """ if head is None: raise ValueError("Словарь пустой!") @@ -42,6 +57,21 @@ def ll_insert(head: dict, name: str, phone: str) -> dict: def ll_find(head: dict, name: str) -> str | None: + """Поиск пользователя в связном списке + + Если функция найдёт пользователя по имени, то вернёт его номер телефона. + В противном случае будет возвращено значение None. + + В случае повторяющихся имен в списке, выведется выше стоящие + + :param head: Список словарей с параметрами: {'name': str, 'phone': str, next: dict | None} + :type head: dict + :param name: Имя пользователя + :type name: str + :raises ValueError: Ошибка при подаче на вход пустого списка + :return: Возвращает номер телефона найденного пользователя, иначе None + :rtype: str | None + """ if head is None: raise ValueError("Словарь пустой!") @@ -54,6 +84,16 @@ def ll_find(head: dict, name: str) -> str | None: def ll_delete(head: dict, name: str) -> dict: + """Удаление пользователя из связного списка + + :param head: Список словарей с параметрами: {'name': str, 'phone': str, next: dict | None} + :type head: dict + :param name: Имя пользователя + :type name: str + :raises ValueError: Ошибка при подаче на вход пустого списка + :return: Возвращает связный список с обновленными данными + :rtype: dict + """ if head is None: raise ValueError("Словарь пустой!")