Часть 2. Давайте создадим простое CRUD-приложение с использованием Python.

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

Без лишних слов, давайте приступим к кодированию!

Шаг 4. Добавьте функцию создания

После успешного добавления функции «Чтение» в приложение нам нужно добавить функцию «Создать», чтобы наше приложение могло добавить новый контакт в список контактов. Мы назовем эту функцию addContact().

def addContact():
    # get the last key from the contacts and add 1 to it
    contact_order = list(contacts.keys())[-1] + 1
# get input from the user to be saved as a new contact
    while True:
        try:
            name = str(input("Enter contact name: "))
            number = int(input("Enter contact number: "))
            address = str(input("Enter contact address: "))
            # add data to contacts
            contacts[contact_order] = {
                "name" : "{}". format(name),
                "number" : number,
                "address" : "{}".format(address)
            }
            print("Data " + name + " added succesfully!\n")
            break
        except ValueError:
            print("Wrong input. Please enter a correct format.\n")
            break

Во-первых, эта функция примет значение последнего ключа в списке контактов, добавит к этому значению 1 и сохранит это значение в переменной contact_order. Мы будем использовать эту переменную в качестве порядка (индекса) новых контактов в словаре списка контактов.

После этого эта функция запросит у пользователя ввод новых контактных данных, а затем вставит новые контактные данные в список контактов. Эта функция принимает только целочисленные типы данных для данных номера телефона. Цикл While с блоком try-except будет повторять команду ввода, если пользователь вводит нецелочисленное значение (например, строки или десятичное значение) в данных телефонного номера.

Сохраним этот файл и раскомментируем вызов функции addContact() в функции selectMenu().

...
elif option == 3:
    print("\n===========")
    print("Add Contact")
    print("===========")
    addContact()
    showMenu()
...

Теперь давайте попробуем запустить приложение.

Поздравляю! Теперь добавим в приложение еще один функционал.

Шаг 5. Добавьте функцию обновления

После добавления функционала Create мы добавим в приложение функционал Update. Этот функционал будет полезен пользователю для изменения контактных данных, которые уже есть в списке контактов.

Эта функция покажет список контактов и спросит пользователя, какое имя контакта он хочет изменить. После этого он проверит, существует ли имя, введенное пользователем, в данных списка контактов с помощью цикла For.

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

Давайте раскомментируем вызов функции updateContact() и попробуем запустить это приложение.

def selectMenu():
...
elif option == 2:
    print("\n==============")
    print("Change Contact")
    print("==============")
    updateContact()
    showMenu()
...

Приложение может работать правильно. Теперь давайте добавим в приложение функцию удаления!

Шаг 6. Добавьте функцию удаления

Наконец, давайте создадим функцию deleteContact(), чтобы пользователь мог удалить контакт из приложения книги контактов.

def deleteContact():
    isDelete = False
    showContacts()
    name = str(input("Enter contact's name you want to delete: "))
    for contact_id, contact_info in list(contacts.items()):
        if contact_info["name"] == name:
            del contacts[contact_id]
            showContacts()
            print("Data ''{}'' deleted Succesfully!\n".format(name))
            isDelete = True
    if isDelete == False: print("Data not found!\n")

Как и функция updateContact(), эта функция будет проверять, присутствует ли имя, введенное пользователем, в данных списка контактов с помощью цикла For. Мы удалим данные с помощью команды del, если контактные данные есть в списке контактов.

Сохраним файл, раскомментируем вызов функции deleteContact() в функции selectMenu() и попробуем запустить приложение.

...
elif option == 4:
    deleteContact()
    showMenu()
...

Большой! Теперь мы успешно создали приложение контактной книги с помощью Python.

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

Отныне мы можем исследовать другие темы языка Python, такие как объектно-ориентированное программирование или использование библиотек и фреймворков в Python. Есть так много вещей, которые мы можем сделать, используя язык программирования Python. Увидимся в следующей статье и удачного кодирования!

Вы можете получить доступ к полному коду на моем Github.

Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter и LinkedIn. Посетите наш Community Discord и присоединитесь к нашему Коллективу талантов.