本文更新于2022/05/18,bug已修复。

编程语言:python3.9

题目

可以在通讯录中通过姓名查看相关联系人的联系方式等信息,也可以在其中新增联系人,或修改、删除联系人信息。

本实例要求编写程序,实现具备添加、查看、修改以及删除联系人信息功能的手机通讯录。

题目分析

本题主要考查对字典熟悉程度,本文暂考虑每一个联系人只有一个电话号码的情况。

字典的增删改查所运用到的函数分别如下:

增:dict[键]=值

删:dict.pop(key)

改:dict[键]=值  或  dict.updata()

查:dict.item(key)

代码

print('=' * 20)
print("欢迎使用通讯录:")
print('1.添加联系人')
print('2.查看通讯录')
print('3.删除联系人')
print('4.修改联系人信息')
print('5.查找联系人')
print('6.退出')
print('=' * 20)

d = {}


while True:

    choic = input('请输入功能序号:')

    # 添加联系人
    if choic == '1':
        name1 = input('请输入联系人姓名:')
        num = input('请输入电话号码:')
        d[name1] = num
    
    # 查看通讯录
    elif choic == '2':
        # 判断字典d是否为空,下同
        if bool(d):
            print(d)
        else:
            print('通讯录为空,请先添加联系人')

    # 删除联系人
    elif choic == '3':
        if bool(d):
            name3 = input('请输入要删除的联系人姓名:')
            d.pop(name3)
        else:
            print('通讯录为空,请先添加联系人')

    # 修改联系人信息
    elif choic == '4':
        if bool(d):
            print("8.修改联系人姓名 9.修改联系人电话号码")
            choic4 = input("请输入修改功能序号:")
            name4_1 = input('请输入原联系人姓名:')
            if choic4 == '8':
                while 1:
                    name4_2 = input('请输入修改后联系人姓名:')
                    if name4_2 in d:
                        print('联系人姓名已存在')
                    else:    
                        d[name4_2] = d[name4_1]
                        d.pop(name4_1)
                        break
            elif choic4 == '9':
                d[name4_1] = input('请输入修改后的电话号码:')
        else:
            print('通讯录为空,请先添加联系人')

    # 按联系人姓名查找联系人信息
    elif choic == '5':
        if bool(d):
            name5 = input("请输入要查找的联系人:")
            if name5 in d:
                print('联系人:{0},电话号码:{1}'.format(name5,d[name5]))
            else:
                print('通讯录中没有该联系人')
        else:
            print('通讯录为空,请先添加联系人')

    # 退出
    elif choic == '6':
        print('bye~')
        break
    print('操作成功')

print('已退出应用')

运行结果

  

 

 

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐