Python通讯录(字典)练习

这是一个使用Python编写的通讯录程序,用户可以进行查询全部联系人、查询特定联系人、更新联系人信息、插入新的联系人、删除已有联系人、清除全部联系人等操作。程序通过字典存储联系人信息,并通过用户输入的序号调用相应功能函数来执行操作。

代码如下:

#通讯录_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 #结束循环,退出程序

运行结果如下:

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值