@TM25

Нужно удалить сотрудников из базы данных я сделал специальную переменную «index», и работник должен удалятся по «index» но не получилось, что сделать?

Staff = [
    {
        "name": "Мирлан",
        "surname": "Исаев",
        "date of Birth": "15.10.1998",
        "position": "Director",
        "phone": "324224",
        "index": 0
    },
    {
        "name": "Айбек",
        "surname": "Усупбаев",
        "date of Birth": "16.06.1997",
        "position": "manager",
        "phone": "233232",
        "index": 1
    },
    {
        "name": "Санжар",
        "surname": "Кылычбеков",
        "date of Birth": "25.06.1999",
        "position": "courier",
        "phone": "2424223",
        "index": 2
    },
    {
        "name": "Кирилл",
        "surname": "Кононенко",
        "date of Birth": "28.04.1998",
        "position": "Director",
        "phone": "24242",
        "index": 3
    },
    {
        "name": "Эмиль",
        "surname": "Мамытов",
        "date of Birth": "25.10.1995",
        "position": "Cook",
        "phone": "422242",
        "index": 4
    },
    {
        "name": "Ислам",
        "surname": "Хафизов",
        "date of Birth": "15.11.1998",
        "position": "Cook",
        "phone": "3232442",
        "index": 5
    },
]
def delete(staff_data):
    
    while True:
         
        name_list=[]
        
        for staff in staff_data:
            name_list.append(staff["name"])
            name_list.append(staff["surname"])
            name_list.append(staff["index"])

        print(name_list)
        
        print("Введите имя работника или exit:")
        name = input("> ")
        if name =='exit':
            break
        
        elif name in name_list:
            print('Top')
            surname = input("> ")
            if surname in name_list:
                print('Top2')
                try:
                    print("Введите индекс работника:")
                    index = int(input("> "))
                    
                    del staff_data[index]

                    for i = staff_index[index]:
                        
                        if i==index[-1]:
                            break
                        else:
                           i=index
                        
                except ValueError:

                    
                    print('Только числовое значение')
                    print()
                    continue
                print("Работник удален!")
                break
            
            else:
                print('Такого работника нет')
                break
        else:
            print('Такого работника нет')
            break
print("""Добро пожаловать!""")


while True:
    print("\nВведите команду:")

    print("""Команды:
* list - показать список работников
* find - найти работника по имени
* add - добавить работника в список
* edit - изменить данные работника
* delete - удалить работника
* exit - выход.""")
    command = input("> ")

    if command == 'list':
        list_staff(Staff)
        
    elif command == 'find':
        find_staff(Staff)
        
    elif command == 'add':
        add_staff(Staff)
        
    elif command == 'edit':
        edit(Staff)
        
    elif command == 'delete':
        delete(Staff)
        
    elif command == 'exit':
        break
    else:
        print("Неизвестная команда.")
  • Вопрос задан
  • 73 просмотра
Пригласить эксперта
Ответы на вопрос 1
@dmshar
import pandas as pd
df=pd.DataFrame(Staff)
df.drop(3,inplace=True)  #Удаление по индексу.
df=df.loc[df['name'] != "Санжар"] #Удаление по имени.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы