python練習(通訊管理程序)


實現通訊錄管理系統,通訊錄包含若干聯系人,每個聯系人包括:姓名、地址、電話 3 項內容。程序提供 4 項基本功能:

  • 增加聯系人: 用戶輸入姓名、地址、電話等信息,將信息保存在一個列表中
  • 列出聯系人: 打印輸出所有聯系人的信息
  • 查詢聯系人: 用戶輸入聯系人姓名,打印輸出該聯系人的信息
  • 修改聯系人:用戶查詢需要修改的用戶名,並對其進行修改。
  • 刪除聯系人: 用戶輸入聯系人姓名,從通訊錄中刪除該聯系人

 

'''
@Author: llody
@FilePath: \web\通訊錄管理程序.py
'''

persons =[{'name':'llody','address':'四川成都','phone':'1360000000'},{'name':'python','address':'四川成都','phone':'1360000000'},{'name':'go','address':'四川成都','phone':'1360000000'}]

while True:
    print("1:查詢聯系人")
    print("2:添加聯系人")
    print("3:列出所有聯系人")
    print("4:修改聯系人")
    print("5:刪除聯系人")
    print("6:退出程序")
    
    choice = input("請輸入【1-6】:")
    
    if choice =='1':
        name = input('查詢聯系人姓名:')
        for person in persons:    #循環讀取,將字典中數據讀入內存中
            if person['name'] == name:    #匹配查詢聯系人與字典中name時候相等
                print('%s,%s,%s' % (person['name'],person['address'],person['phone']))
        else:
            print("無姓名為:%s" % name ,"的聯系人")
    elif choice =='2':
        name = input('姓名:')
        address = input('歸屬地:')
        phone = input('電話號碼:')
        person = {'name':name,'address':address,'phone':phone}    
        persons.append(person)    #添加如字典內存中
        print("已成功添加聯系人")
    elif choice =='3':
        for person in persons:
            print('%s,%s,%s' % (person['name'],person['address'],person['phone']))
    elif choice =='4':
        name  = input("姓名")   #根據name進行查詢並修改
        for person in persons:
            if person['name'] == name:
                print("請注意您即將修改名為:%s" % name ,"的聯系人,請注意")
                print('姓名: %s' % person['name'])
                person['name'] = input('姓名:')
                print('歸屬地: %s' % person['address'])
                person['address'] = input('歸屬地:')
                print('電話號碼: %s' % person['phone'])
                person['phone'] = input('電話號碼:')
                print("聯系人信息修改成功")
                break
        else:
            print("無此聯系人")
    elif choice =='5':
        name = input("刪除聯系人:")
        for person in persons:
            if person['name'] == name:
                persons.remove(person)   #使用remove函數,刪除指定列
                print("聯系人刪除成功")
                break
        else:
            print("無此聯系人")
    elif choice =='6':
        print("程序已退出")
        break
    else:
        print("輸入有誤,請重新輸入")

  用函數方式改寫通訊錄管理程序

'''
@Author: your name
@FilePath: \web\函數.py
'''
persons =[{'name':'llody','address':'四川成都','phone':'1360000000'},{'name':'python','address':'四川成都','phone':'1360000000'},{'name':'go','address':'四川成都','phone':'1360000000'}]

def query_person():
    print("查詢聯系人")
    name = input("姓名:")
    for person in persons:
        if person['name'] == name:
            print('%s,%s,%s' %(person['name'],person['address'],person['phone']))
            break
    else:
        print("無此聯系人,請重新輸入")
        query_person()

def create_person():
    print("添加聯系人")
    name = input("姓名:")
    address = input("歸屬地:")
    phone = input("電話號碼")
    person = {'name':name,'address':address,'phone':phone}
    persons.append(person)
    print("聯系人添加成功")
    main()
def list_person():
    print("列出所有聯系人")
    for person in persons:
        print('%s,%s,%s' %(person['name'],person['address'],person['phone']))
    
    main()

def update_person():
    print("修改聯系人")
    name = input("姓名:")
    for person in persons:
        if person['name'] == name:
                print("請注意您即將修改名為:%s" % name ,"的聯系人,請注意")
                print('姓名: %s' % person['name'])
                person['name'] = input('姓名:')
                print('歸屬地: %s' % person['address'])
                person['address'] = input('歸屬地:')
                print('電話號碼: %s' % person['phone'])
                person['phone'] = input('電話號碼:')
                print("聯系人信息修改成功")
                main()
                break
    else:
        print("無此聯系人,請重新查詢輸入")
        main()

def delete_person():
    print("刪除聯系人")
    name = input("姓名:")
    for person  in persons:
        if person['name'] == name:
            persons.remove(person)
            print("聯系人刪除成功")
            break
    else:
        print("無此聯系人,請確認后輸入")
        data = input("1,繼續輸入:2,重新查詢確認,請選擇")
        if data == '1':
            delete_person()
        elif data == '2':
            main()
        else:
            print("輸入錯誤,程序退出")
    
def git_person():
    while True:
        print("1:查詢聯系人")
        print("2:添加聯系人")
        print("3:列出所有聯系人")
        print("4:修改聯系人")
        print("5:刪除聯系人")
        print("6:退出程序")
        
        choice = input("請輸入【1-6】:")
        
        return choice
def error_person():
    print("輸入有誤,請重新輸入")

def main():
    choice = git_person()
    if choice == '1':
        query_person()
    elif choice == '2':
        create_person()
    elif choice == '3':
        list_person()
    elif choice == '4':
        update_person()
    elif choice == '5':
        delete_person()
    elif choice == '6':
        print('程序已退出')
        
    else:
        error_person()

main()

  

 

'''
@Author: llody
@用類改寫通訊錄管理系統
@FilePath: \web\addressbook.py
'''

class addressbook:
    def __init__(self):
        self.persons = [{'name':'llody','address':'四川成都','phone':'1360000000'},{'name':'python','address':'四川成都','phone':'1360000000'},{'name':'go','address':'四川成都','phone':'1360000000'}]
    def create_person(self):
        name = input("姓名:")
        address = input("地址:")
        phone = input("電話:")
        person = {'name':name,'address':address,'phone':phone}
        self.persons.append(person)
    def list_person(self):
        for  person in self.persons:
            print('名字:%s,地址:%s,電話:%s'%(person['name'],person['address'],person['phone']))
    def query_person(self):
        name = input('請輸入查詢聯系人姓名:')
        for person in self.persons:
            if person['name'] == name:
                print('名字:%s,地址:%s,電話:%s'%(person['name'],person['address'],person['phone']))
                break
        else:
            print('無此聯系人信息')
    def update_person(self):
        name = input("請輸入聯系人:")
        for person in self.persons:
            if person['name'] == name:
                print("請注意,您即將修改的聯系人為:%s" %name,"請注意,修改不可逆!!")
                i = input("繼續請輸入【y/n】:")
                if i == 'y':
                    print("姓名:%s" %person['name'])
                    person['name'] = input("姓名修改為:")
                    print("地址:%s" %person['address'])
                    person['address'] = input('地址修改為:')
                    print("電話:%s"%person['phone'])
                    person['phone'] = input('電話修改為:')
                    print("修改已完成!!!!")
                    break
                else:
                    print('退出修改')
                    break
        else:
            print('通訊錄無此聯系人!!!')
    def delete_person(self):
        name = input('請輸入需要刪除的用戶姓名:')
        for person in self.persons:
            if person['name'] == name:
                print("請注意,您即將修改的聯系人為:%s" %name,"請注意,修改不可逆!!")
                i = input("繼續請輸入【y/n】:")
                if i == 'y':
                    self.persons.remove(person)
                    print('聯系人已成功刪除')
                    break
                else:
                    print('已退出刪除程序')
                    break
        else:
            print('通訊錄無此聯系人,請確認后再選擇!!!')
def git_person():
    print("歡迎使用通訊錄管理程序")
    print('1:添加聯系人')
    print('2:列出所有聯系人')
    print('3:查詢聯系人')
    print('4:修改聯系人信息')
    print('5:刪除聯系人')
    print('6:退出程序')
    choice = input("請輸入:【1-6】")
    return choice
def main_person():
    add = addressbook()
    while True:
        choice = git_person()
        if choice == '1':
            add.create_person()
        elif choice == '2':
            add.list_person()
        elif choice == '3':
            add.query_person()
        elif choice == '4':
            add.update_person()
        elif choice == '5':
            add.delete_person()
        elif choice == '6':
            print('程序已退出')
            break
        else:
            print("輸入有誤")

main_person()

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM