麻瓜好卷

  • 首页
  • 编程
    • iOS
    • Python
    • Java
麻瓜好卷
重新启航~
  1. 首页
  2. 编程
  3. Python
  4. 正文

Python 函数化通讯录

2022年 11月 1日
def print_menu():
    print("="*20)
    print('欢迎使用通讯录')
    print('1.添加联系人')
    print('2.查看通讯录')
    print('3.删除联系人')
    print('4.修改联系人')
    print('5.查找联系人')
    print('6.退出')
    print("="*20)
    
def add_lxr():
    per_name = input('请输入联系人的姓名:')
    per_num = input('请输入联系人的手机号:')
    per_email = input('请输入联系人的邮箱:')
    per_address = input('请输入联系人的地址:')
    if per_name.strip() == '' or per_num.strip() == '' or per_email.strip() == '' or per_address.strip() == '':
        print('请输入正确的信息')  # str.strip() 消除字符串前后空格
    else:
        per_dict.update({'姓名':per_name,'手机号':per_num,'邮箱':per_email,'地址':per_address})
        person_info.append(per_dict) # 将联系人加到通讯录里
        print('保存成功')
        
def show_txl():
    if len(person_info) == 0:
            print('通讯录无信息')
    else:
        for i in person_info:  # 遍历通讯录列表 分出每一个联系人字典
            print('--*'*6)
            for title,info in i.items(): # 对字典i进行可迭代转换 [('姓名': '小米'),...]
                print(title + ":" + info) # 姓名: 小米
            print('--*'*6)
                
def del_lxr():
    if len(person_info) != 0:
        del_name = input('请输入要删除的联系人的姓名:')
        for i in person_info: # 遍历通讯录列表 分出每一个联系人字典
            if del_name in i.values():  # 获得字典里的所有values值  ['小米',...]
                person_info.remove(i)   # 将 联系人dict 从 通讯录list列表 里删除
                print(person_info)
                print('删除成功')
            else:
                print('该联系人不在通讯录中')      
                    
def edit_lxr():
     if len(person_info) != 0:
        modi_name = input('请输入要修改的联系人的姓名:')
        for i in person_info: # 遍历通讯录列表 分出每一个联系人字典
            if modi_name in i.values():  # 获得字典里的所有values值  ['小米',...]
                modi_name = input('请输入联系人的姓名:')
                modi_num = input('请输入联系人的手机号:')
                modi_email = input('请输入联系人的邮箱:')
                modi_address = input('请输入联系人的地址:')
                # {'姓名': '小米', '手机号': '12345645', '邮箱': 'djfddjsa@dd.com', '地址': '安徽省'}
                i.update(姓名 = modi_name)
                i.update(手机号 = modi_num)
                i.update(邮箱 = modi_email)
                i.update(地址 = modi_address)
                print(person_info)
                print('修改成功')
            else:
                print('该联系人不在通讯录中')
                    
def find_lxr():
    if len(person_info) != 0:
        query_name = input('请输入要查找的联系人的姓名:')
        for i in person_info: # 遍历通讯录列表 分出每一个联系人字典
            if query_name in i.values():  # 获得字典里的所有values值  ['小米','12345645','djfddjsa@dd.com','安徽省'...]
                print('--*'*6)
                for title,info in i.items(): # 对字典i进行可迭代转换 [('姓名': '小米'),...]
                    print(title + ":" + info) # 姓名: 小米
                print('--*'*6)
                break  # 已经找到后直接退出
            else:
                print('该联系人不在通讯录中')  
    
def main():
    print_menu()
    while True:
        fun_num = input('请输入功能序号:')
        if fun_num == '1':
            add_lxr()
        elif fun_num == '2':
            show_txl()
        elif fun_num == '3':
            del_lxr()
        elif fun_num == '4':
            edit_lxr()
        elif fun_num == '5':
            find_lxr()
        elif fun_num == '6':
            break
            
#程序的入口
person_info = []
per_dict = {}
if __name__ == '__main__':
    main()

运行结果:

====================
欢迎使用通讯录
1.添加联系人
2.查看通讯录
3.删除联系人
4.修改联系人
5.查找联系人
6.退出
====================
请输入功能序号:1
请输入联系人的姓名:1
请输入联系人的手机号:1
请输入联系人的邮箱:1
请输入联系人的地址:1
保存成功
请输入功能序号:2
--*--*--*--*--*--*
姓名:1
手机号:1
邮箱:1
地址:1
--*--*--*--*--*--*
请输入功能序号:4
请输入要修改的联系人的姓名:1
请输入联系人的姓名:1
请输入联系人的手机号:2
请输入联系人的邮箱:2
请输入联系人的地址:2
[{'姓名': '1', '手机号': '2', '邮箱': '2', '地址': '2'}]
修改成功
请输入功能序号:2
--*--*--*--*--*--*
姓名:1
手机号:2
邮箱:2
地址:2
--*--*--*--*--*--*
请输入功能序号:5
请输入要查找的联系人的姓名:1
--*--*--*--*--*--*
姓名:1
手机号:2
邮箱:2
地址:2
--*--*--*--*--*--*
请输入功能序号:3
请输入要删除的联系人的姓名:1
[]
删除成功
请输入功能序号:2
通讯录无信息
请输入功能序号:6
标签: 暂无
最后更新:2022年 11月 1日

MuggleRollAdmin

这个人很懒,什么都没留下

< 上一篇
下一篇 >

COPYRIGHT © 2021-2024 麻瓜好卷. ALL RIGHTS RESERVED.

本站支持IPv6访问

Theme Kratos Made By Seaton Jiang

浙ICP备2021014039号-1

浙公网安备 33038102332002号