代码如下:
#通讯录.py
#界面提示设计
print('|---欢迎进入通讯录程序---|')
print('|---1: 查询全部联系人 ---|')
print('|---1: 查询特定联系人 ---|')
print('|---1: 更新联系人信息 ---|')
print('|---1: 插入新的联系人 ---|')
print('|---1: 删除已有联系人 ---|')
print('|---1: 清除全部联系人 ---|')
print('|---1: 退出通讯录程序 ---|')
print('')
#构建字典,存储联系人信息(输入数据)
dict={'23':'张雪','11':'莉莉'}
#定义各功能函数
#(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:
#iis = input('输入'Y'修改用户资料,输入其他字符结束插入联系人')
#if iis in ['YES','Y','y','yes','Yes']:
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 == ''):
queryOne()
elif(n == '3'):
update()
elif(n == '4'):
insertOne()
elif(n == '5'):
deleteOne()
elif(n == '6'):
clearAll()
elif(n == '7'):
esc()
break #结束循环,退出程序