手机通讯录
题目如下:
本文采用函数,字典,列表等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()