“通讯录”练习

#通讯录_P102.py
 
#界面提示设计
print("|---欢迎进入通讯录程序---|")
print("|---1:查询全部联系人---|")
print("|---2:查询特定联系人---|")
print("|---3:更新联系人信息---|")
print("|---4:插入新的联系人---|")
print("|---5:删除已有联系人---|")
print("|---6:清除全部联系人---|")
print("|---7:退出通讯录程序---|")
print("")
#构建字典,存储联系人信息(输入数据)
dict={'2019':'郑','2020':'杨','2021':'周','2022':'黄','2023':'陈'}
#定义各功能函数
 
#(1)查询所有联系人信息
def queryAll():
    if dict == {}:
        print('通讯录无任何联系人信息')
    else:
        i=1
        for key,value in dict.items():
            print("{0} 学号:{1}, 姓名:{2}".format(i,key,value))
            i+=1
 
#(2)查询一个联系人信息
def queryOne():
    sno=input('请输入要查询的联系人学号:')
    print(sno+":"+dict.get(sno,'联系人不存在'))#dict.get()函数返回指定键的值,
#(3)更新联系人信息
def update():
    sno=input('请输入要查询的联系人学号:')
    if(sno in dict):
        value=input("请输入姓名:")#输入新的姓名值给value
        dict[sno]=value           #将value赋给sno所对应的值
    else:
        print("联系人不存在")
#(4)插入一个新联系人
def insertOne():
    sno=input('请输入要插入的联系人学号:')
    if(sno in dict):
        print("您输入的学号在通讯录中已存在" + "-->>" + sno +":" + dict[sno])
    else:
        value=input("请输入姓名:")
        dict[sno]=value
#(5)删除一个用户
def deleteOne():
    sno=input("请输入联系人学号:")
    value=dict.pop(sno,'联系人不存在')#删除sno键所对应的数据,包括键和值
    if value=='联系人不存在':
        print("联系人不存在")
    else:
        print("联系人"+sno+"已删除")
#(6)清空通讯录
def clearAll():
    cis=input("提示:确认清空通讯录吗?确认操作输入'Y/y',输入其他字符直接退出")
    if cis in ['Y','y']:
        dict.clear()
        print('通讯录已全部清空')
#(7)退出通讯录
def esc():
    print("|---感谢使用通讯录程序---|")
    print("\n")
#调用各函数,构建无限循环,实现重复操作
while True:
    n=input("请根据菜单输入操作序号:")
    if(n=='1'):
        queryAll()
    elif(n=='2'):
        queryOne()
    elif(n=='3'):
        update()
    elif(n=='4'):
        insertOne()
    elif(n=='5'):
        deleteOne()
    elif(n=='6'):
        clearAll()
    elif(n=='7'):
        esc()
        break
————————————————
版权声明:本文为CSDN博主「foolprogrammer」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/foolprogrammer/article/details/129990741

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值