Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №1016855
А
Аноним
04 мая 2024 08:01 · публичный вопрос
А
Аноним

Напишите задачу, которая моделирует базу данных людей с их почтами и идентификаторами. Добавьте методы в базу данных на ваше усмотрение. Эти методы можно не реализовывать, но…

Запрос пользователя

Напишите задачу, которая моделирует базу данных людей с их почтами и идентификаторами. Добавьте методы в базу данных на ваше усмотрение. Эти методы можно не реализовывать, но важно расписать правильную документацию в виде докстрингов. python

Ответ нейросети
04 мая 2024 08:01

Для моделирования базы данных людей с их почтами и идентификаторами в Python, мы можем создать класс "Database" с методами для добавления новых людей, поиска по идентификатору и почте, обновления информации о человеке и удаления записи из базы данных. Давайте создадим простой пример:

class Database:
    """
    Класс для моделирования базы данных людей с их почтами и идентификаторами.

    Methods:
    - add_person: добавляет нового человека в базу данных
    - find_by_id: ищет человека по идентификатору
    - find_by_email: ищет человека по почте
    - update_person: обновляет информацию о человеке
    - delete_person: удаляет запись о человеке из базы данных
    """

    def __init__(self):
        self.data = {}  # Словарь для хранения данных о людях

    def add_person(self, id, email):
        """
        Метод для добавления нового человека в базу данных.

        Args:
        id (int): идентификатор человека
        email (str): почта человека
        """
        self.data[id] = email

    def find_by_id(self, id):
        """
        Метод для поиска человека по идентификатору.

        Args:
        id (int): идентификатор человека

        Returns:
        str: почта найденного человека
        """
        return self.data.get(id, "Человек с таким идентификатором не найден")

    def find_by_email(self, email):
        """
        Метод для поиска человека по почте.

        Args:
        email (str): почта человека

        Returns:
        int: идентификатор найденного человека
        """
        for id, mail in self.data.items():
            if mail == email:
                return id
        return "Человек с такой почтой не найден"

    def update_person(self, id, new_email):
        """
        Метод для обновления информации о человеке.

        Args:
        id (int): идентификатор человека
        new_email (str): новая почта человека
        """
        if id in self.data:
            self.data[id] = new_email
        else:
            print("Человек с таким идентификатором не найден")

    def delete_person(self, id):
        """
        Метод для удаления записи о человеке из базы данных.

        Args:
        id (int): идентификатор человека
        """
        self.data.pop(id, None)

Код выше представляет простую модель базы данных людей с их почтами и идентификаторами в Python. Для каждого метода добавлена краткая документация в виде докстрингов, описывающая назначение и аргументы метода.

Не забывайте, что для работы с этим классом нужно создать экземпляр объекта класса Database и затем вызывать методы этого объекта для работы с данными.