MapleStory Finger Point
본문 바로가기
Back-end/Python - project

[Python] 전화번호부 Project - Delete 구현

by 디팔⸜( ◜࿁◝ )⸝︎︎ 2022. 8. 9.

메뉴 구현 함수

 def delete_menu(self):
    print('===주소록 삭제하기===')
    print('[1] 전체 주소록 삭제하기')
    print('[2] 이름으로 삭제하기')
    print('[3] 전화번호로 삭제하기')
    print('[4] 이메일로 삭제하기')
    print('[0] 돌아가기')
    delete_input=int(input('원하시는 기능의 숫자를 입력해 주세요 >>'))
    if delete_input == 0 : return self.menu()
    elif delete_input == 1 : self.deleteAll()
    elif delete_input == 2 : 
        delete_by_name = input('삭제할 이름을 입력해주세요 >>')
        return self.delete(delete_by_name, "name")
    elif delete_input == 3 :
        delete_by_phone = input('삭제할 전화번호를 입력해주세요 >>')
        return self.delete(delete_by_phone, "phone")
    elif delete_input == 4 :
        delete_by_email = input('삭제할 이메일을 입력해주세요 >>')
        return self.delete(delete_by_email, "email")

삭제 기능 구현 함수

def delete(self, alias, type):
    if type == "name":
        cursor.execute(f"select * from phoneBookDB where name = '{alias}'")
        delete_data_show = cursor.fetchall()
        i = 0
        delete_data =[]
        for data in delete_data_show:
            print(f"{i+1}, {data[1]}, {data[2]}, {data[3]}")
            delete_data += [data]
            i += 1
        select_num = int(input('삭제할 전화번호부의 숫자를 입력해주세요 >> *돌아가기는 0번 '))
        if select_num == 0:
            return
        data_for_delete = delete_data[select_num-1]
        print(f"{data_for_delete[1]} 님의 전화번호부를 삭제합니다.")
        print("!!! 주의 !!! 삭제한 데이터는 되돌릴 수 없습니다!!")
        real_delete = input('해당 전화번호를 삭제하시려면 Y를 입력해주세요 >>')
        if real_delete.upper() == "Y":
            cursor.execute(f'delete from phoneBookDB where id ="{data_for_delete[0]}"')
            conn.commit()
        else:
            return

    elif type == "phone":
        cursor.execute(f"delete from phoneBookDB where phone = '{alias}'")
    elif type == "email":
        cursor.execute(f"delete from phoneBookDB where email = '{alias}'")
    conn.commit()
    print(alias + ' 가 삭제되었습니다.')
    return self.menu()
    
def deleteAll(self):
    print('!!주의!! 모든 전화번호가 삭제됩니다')
    confirm_deleteAll = int(input('전화번호부 전체 삭제는 [1] 취소는 [0]을 입력해주세요 >>'))
    if confirm_deleteAll == 1 :
        cursor.execute('delete from phoneBookDB')
        conn.commit()
        print('모든 전화번호부가 삭제되었습니다.')

댓글