본문 바로가기

파이썬(PYTHON)/프로젝트
[파이썬(Python)] 전화번호부 관리


'''
# 전화번호부

1. 입력 -> 이름 입력 :      / 전화번호 입력 : 
2. 검색 -> 이름 검색 :       
3. 종료
'''

check = True

while True :
    print("<전화번호부>")
    print("1번. 입력")
    print("2번. 검색")
    print("3번. 프로그램 종료\n")

    cmd = input("원하는 번호를 입력해 주세요. : ")

    if ( cmd == "3" or cmd == "3번" ) :
        print("프로그램을 종료합니다.")
        break

    elif ( cmd == "1" or cmd == "1번" ) :
        
        while (check) :

            with open("d:/contracts.txt", 'a', encoding="utf8") as contract_file:
                name = input("이름 : ")
                phone = input("전화번호 : ")
                print("")
                
                contract_file.write(name + "/"+phone + "\n")
                
            if (name == "" or phone == "") :
                print("정보가 부족합니다.\n")
                check = False
                   
 
    elif ( cmd == "2" or cmd == "2번" ) :
        try :
            search_name = input("이름: ")
            
            with open("d:/contracts.txt", 'r', encoding="utf8") as contract_file:
                
                while True :
                    line=contract_file.readline()

                    if not line :
                        break

                    line = line.strip()
                    contract = line.split("/")

                    if line.find(search_name) != -1 :
                        print(contract[0] + " : " + contract[1] + "\n")

 
        except FileNotFoundError as e:
            print("먼저 입력을 해주세요.")
            print(e)


    else :
        print("없는 번호입니다. 프로그램을 종료합니다.")
        break