首頁 > 軟體

python實現通訊錄系統

2022-05-16 16:00:14

本文範例為大家分享了python實現通訊錄系統的具體程式碼,供大家參考,具體內容如下

一、首先,給大家看一下這個系統的主選單效果

如下:

二、步驟分析

1、首先建立一個main.py檔案:

main.py:

#匯入管理系統模組
from managerSystem import ContactManager
#啟動管理系統
if __name__=='__main__':
    contact_manager=ContactManager()
    contact_manager.run()

2、第二步,將主選單列表展示出出來:

*建立managerSystem.py:

*在mangagerSystem.py中寫一個靜態方法:

#2.1系統選單功能實現--靜態方法
    @staticmethod
    def show_menu():
        print('請選擇如下功能:')
        print('1、新增聯絡人')
        print('2、刪除聯絡人')
        print('3、修改聯絡人資訊')
        print('4、查詢聯絡人資訊')
        print('5、顯示所有聯絡人資訊')
        print('6、儲存聯絡人資訊')
        print('7、退出系統')

3、第三步,實現功能:

例如,增加聯絡人功能函數:

 def add_contact(self):
        # 1. 使用者輸入姓名 性別 手機號
        name = input('請輸入您的姓名:')
        gender = input('請輸入您的性別:')
        tel = input('請輸入您的電話:')
        # 2.建立聯絡人物件
        contact = Contact(name, gender, tel)
        # 3. 將該物件新增到聯絡人列表
        self.contact_list.append(contact)
        print(self.contact_list)
        print(contact)

4、建立contact表:

contact:

class Contact(object):
    def __init__(self,name,gender,tel):
        #形參 name,gender,tel
        #範例屬性
     self.name=name
     self.gender=gender
     self.tel=tel
 
    def __str__(self):
        return f'{self.name},{self.gender},{self.tel}'

5、記錄資料:contact.data:

 最後,給大家managerSystem.py原始碼:

from contact import Contact
class ContactManager(object):
    def __int__(self):
        self.contact_list=[]
    def run(self):
        self.load_contact()
        while True:
            self.show_menu()
            menu_num=int(input('請輸入您需要的功能序號:'))
            if menu_num==1:
                self.add_contact()
            elif menu_num==2:
                self.del_contact()
            elif menu_num==3:
                self.modify_contact()
            elif menu_num==4:
                self.search_contact()
            elif menu_num==5:
                self.show_contact()
            elif menu_num==6:
                self.save_contact()
            elif menu_num==7:
                break
    @staticmethod
    def show_menu():
        print('請選擇如下功能:')
        print('1、新增聯絡人')
        print('2、刪除聯絡人')
        print('3、修改聯絡人資訊')
        print('4、查詢聯絡人資訊')
        print('5、顯示所有聯絡人資訊')
        print('6、儲存聯絡人資訊')
        print('7、退出系統')
 
    def add_contact(self):
        name = input('請輸入您的姓名:')
        gender = input('請輸入您的性別:')
        tel = input('請輸入您的電話:')
        contact = Contact(name, gender, tel)
        self.contact_list.append(contact)
        print(self.contact_list)
        print(contact)
 
    def del_contact(self):
        del_name = input('請輸入要刪除的聯絡人姓名:')
        flag=1
        for i in self.contact_list:
            if i.name == del_name:
                self.contact_list.remove(i)
                flag=0
                break
        if flag==1:
            print('查無此人!')
 
            print(self.contact_list)
 
    def modify_contact(self):
        modify_name = input('請輸入要修改的聯絡人姓名:')
        flag=1
        for i in self.contact_list:
            if i.name == modify_name:
                i.name = input('請輸入聯絡人姓名:')
                i.gender = input('請輸入聯絡人性別:')
                i.tel = input('請輸入聯絡人手機號:')
                print(f'修改該聯絡人資訊成功,姓名:{i.name}, 性別{i.gender}, 手機號{i.tel}')
                flag=0
                break
        if flag==1:
            print('查無此人!')
    def search_contact(self):
        search_name = input('請輸入要查詢的聯絡人姓名:')
        flag=1
        for i in self.contact_list:
            if i.name == search_name:
                print(f'姓名{i.name}, 性別{i.gender}, 手機號{i.tel}')
                flag=0
                break
        if flag==1:
            print('查無此人!')
 
    def show_contact(self):
        print("姓名t性別t手機號")
        for i in self.contact_list:
            print(f'{i.name}t{i.gender}t{i.tel}')
 
    def save_contact(self):
        f = open('contact.data', 'w')
        new_list = [i.__dict__ for i in self.contact_list]
        f.write(str(new_list))
        f.close()
 
 
    def load_contact(self):
        try:
            f = open('contact.data', 'r')
        except:
            f = open('contact.data', 'w')
        else:
            data = f.read()
            new_list = eval(data)
            self.contact_list = [Contact(i['name'], i['gender'], i['tel']) for i in new_list]
        finally:
            f.close()

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。


IT145.com E-mail:sddin#qq.com