通訊錄檔案中存有若干聯絡人的資訊,每個聯絡人的資訊由姓名和電話號碼組成。編寫程式完成以下功能:輸入姓名,若通訊錄檔案中存在,則將該聯絡人資訊輸出;若不存在,則輸出“Not Found”。

川川菜鳥發表於2020-12-16

還記得川川我嗎?啊,不記得就傷我心了,點個贊加個關再走。
QQ:2835809579
白嫖黨們,走起!
題目
通訊錄檔案中存有若干聯絡人的資訊,每個聯絡人的資訊由姓名和電話號碼組成。編寫程式完成以下功能:輸入姓名,若通訊錄檔案中存在,則將該聯絡人資訊輸出;若不存在,則輸出“Not Found”。
程式碼:



#登入引導介面
txt = '''
1. add contacts
2. delete contacts
3. search contacts
4. show all contacts
5. exit the system 
'''

#檢測路徑下是否存在通訊錄檔案,如果沒有則建立檔案
import os.path
is_exist = os.path.isfile('addressbook.txt')
if is_exist == 0:
    new_file = open('Contacts.txt', 'w')
    new_file.close()

#入口程式
def start():
    #設定迴圈,當使用者輸入特定選項退出
    while True:
        print("Welcome, select a number:")
        print(txt)
        userchoice = int(input())
        #輸入錯誤序號則重啟程式
        if userchoice not in [1,2,3,4,5]:
            print('wrong choice')
            start()
            break
        #輸入正確序號執行相應程式
        elif userchoice == 1:
            add_contacts()
        elif userchoice == 2:
            delete_contacts()
        elif userchoice == 3:
            search_contacts()
        elif userchoice == 4:
            show_all_contacts()
        elif userchoice == 5:
            break

#新增聯絡人
def add_contacts():
    print('Add new contacts')
    print('Name: ', end = '')
    Name = input()
    print('Sex: ', end = '')
    Sex = input()
    print('Relationship(Friend/ Family/ Classmate): ', end = '')
    Relationship = input()
    print('Number: ', end = '')
    Number = input()
    #將通訊錄追加到檔案末端
    Contacts_file = open('Contacts.txt','a')
    Contacts_file.write(Name+'\t'+Sex+'\t'+Relationship+'\t'+Number+'\n')
    Contacts_file.close()

#刪除通訊錄中的資訊
def delete_contacts():
    print('Enter the name: ', end = '')
    name = input()
    Contacts_file = open('Contacts.txt', 'r')
    Contacts_list = []
    #將通訊錄快取到列表內,遇到需要刪除的通訊錄條目則跳過
    for line in Contacts_file.readlines():
        if line.find(name) != -1:
            continue
        Contacts_list.append(line)
    #將通訊錄清空,將快取在列表中的通訊錄資訊載入進檔案內
    Contacts_file = open('Contacts.txt', 'w')
    for i in range(0, len(Contacts_list)):
        Contacts_file.write(Contacts_list[i])
    Contacts_file.close()

#搜尋通訊錄
def search_contacts():
    print('Enter the name: ',end = '')
    Search_name = input()
    Contacts_file = open('addressbook.txt','r',encoding='utf-8')
    for line in Contacts_file.readlines():
        String = line
        find_or_not = String.find(Search_name)
        if find_or_not !=-1 :
            print(line)
            break
    #若搜尋不到,返回Not Found!
    if find_or_not == -1:
        print('Not Found!')
    Contacts_file.close()

#顯示通訊錄所有條目
def show_all_contacts():
    print('Name\tSex\tRelationship\tNumber', end = '\n')
    Contacts_file = open('addressbook.txt','r')
    print(Contacts_file.read())
    Contacts_file.close()

#執行入口程式
start()

效果還要我演示嗎?你們自己執行試試行不!有問題留言哈!!

相關文章