采用函数,字典,列表等python基础知识实现手机通讯录基本功能(附源码,复制可用)

手机通讯录

题目如下:
在这里插入图片描述
本文采用函数,字典,列表等python基础知识实现手机通讯录基本功能

"""
实现功能:
手机通讯录添加、查看、删除、修改、查找联系人信息
"""


def addUser(contactDictList):
    # 1.添加功能(包括姓名和手机号)
    name = input("请输入姓名:>")
    # 判断姓名,在列表当中是否已经存储,如果存储,就提示用户不能存储,否则就存入
    flag = False  # 默认此人没存储过
    for index in range(len(contactDictList)):
        # if语句中是为了取出列表中的每一个单独字典的key
        if (list(contactDictList[index].items())[0][0] == name):
            print("此联系人已经存在,请重新输入!!")
            flag = True  # 设置此人已经存储
            break

    if not flag:
        phone = input("请输入手机号:>")
        userdict = {"%s" %(name): "%s" %(phone)}
        # 将一个人信息组成的字典,添加到总体的列表当中
        contactDictList.append(userdict)
        print("输入完成,用户已成功添加!")


def deleteUser(contactDictList):
    # 2.删除
    name = input("请输入要删除的联系人:>")
    flag = False  
    # 遍历列表,查看这个列表当中是否包含此人
    for index in range(len(contactDictList)):
        if list(contactDictList[index].items())[0][0] == name:
            # 说明此人存在
            del contactDictList[index]
            flag = True
            print("删除成功")
            break
    if not flag:
        print("用户不存在或输入错误,请重新输入!")


def updateUser(contactDictList):
    # 3.修改(这里只修改电话号码)
    name = input("请输入要修改的联系人:>")
    flag = False
    # 遍历列表,查看这个列表当中是否包含此人信息
    for index in range(len(contactDictList)):
        if list(contactDictList[index].items())[0][0] == name:
            # 说明此人存在
            phone = input("请输入要修改的电话号码:>")
            contactDictList[index][name] = phone
            flag = True
            print("修改成功")
            break

    if not flag:
        print("查无此人!")


def showAllUser(contactDictList):
    # 4.查询(显示所有用户)
    print("----------------------------------")
    print("**********************************")
    print("----------------------------------")
    if (len(contactDictList) == 0):
        print("您的通讯录为空")
    else:
        for i in contactDictList:  # 遍历显示所有通讯录联系人
            print("用户:%s\t联系方式:%s" % (list(i.items())[0][0], list(i.items())[0][1]))
    print("----------------------------------")
    print("**********************************")
    print("----------------------------------")


def queryUser(contactDictList):
    # 5.查找(根据姓名查找手机号)
    name = input("请输入要查询的联系人:>")
    flag = False 
    # 遍历列表,查看这个列表当中是否包含此人
    for index in range(len(contactDictList)):
        if list(contactDictList[index].items())[0][0] == name:
            # 说明此人存在
            print('您要查找的联系人信息为:')
            print("用户:%s" % (name))
            print("手机号码:%s" % (contactDictList[index][name]))
            flag = True
            break
    if not flag:
        print("查无此人!")


def work(contactDictList, info):
    # 根据用户选择执行不同功能
    while True:
        print(info)
        num = input("请选择功能:>")
        # 判断用户是否输入除1,2,3,4,5,6之外字符
        if num not in ['1', '2', '3', '4', '5', '6']:
            print("输入有误,请重新输入")
        else:
            if num == '1':
                addUser(contactDictList)
            elif num == '2':
                deleteUser(contactDictList)
            elif num == '3':
                updateUser(contactDictList)
            elif num == '4':
                showAllUser(contactDictList)
            elif num == '5':
                queryUser(contactDictList)
            elif num == '6':
                # 6.退出4

                print("感谢使用")
                break


def main():
    # 因为可能存储多组数据,创建一个列表,目前列表没有元素,所以为空列表
    # 后面往列表中添加的元素为字典,每一个字典包含每一个用户名和联系方式
    contactDictList = []
    info = '''
    ======手机通讯录管理系统======
    1.增加用户
    2.删除用户
    3.修改手机
    4.显示所有用户
    5.根据用户名查找手机号
    6.退出
    ==========================
    '''
    work(contactDictList, info)


if __name__ == "__main__":
    main()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值