需要完成的基本功能:添加名片 删除名片 修改名片 查询名片 退出系统
思路:用字典作为名片存放个人信息,然后把名片存入列表中。
cardList = [] # 列表,用于保存所有人名片,每个名片是一个字典。 def menu(): # 用于提示用户功能选项 print(‘========名片管理器========‘) print(‘1添加名片 2删除名片 3修改名片 4查询名片 5显示全部 6退出系统 ‘) def addCard(): # 添加名片函数 card = {} # 局部变量,这个字典用于临时保存要添加的名片 card[‘姓名‘] = input(‘请输入添加人名字:‘) # 把名字赋给字典card的‘姓名‘键对应的值 card[‘电话‘] = input(‘请输入添加人电话:‘) # 同上 cardList.append(card) # 把新名片添加到列表中 print(card) # 打印这个名片 print(‘已添加‘) def deleteCard(): deleteName = input(‘请输入要删除名片的姓名:‘) for temp in cardList: # 列表的遍历,注意temp是字典(一个名片) if temp[‘姓名‘] == deleteName: #temp[‘姓名‘]是value,判断要删除的人是否是列表中的 cardList.remove(temp) # 删除列表的temp元素(一个名片) print(‘已删除‘) def modifyCard(): toModifyName = input(‘请输入要修改名片的姓名:‘) newTemp={} # 用于保存修改后的名片 for temp in cardList: if temp[‘姓名‘] == toModifyName: # 选择与要删的名字一致的temp,然后对这个temp进行操作 newTemp = temp newName = input(‘请输入新名字:‘) newTemp[‘姓名‘] = newName newPhone = input(‘请输入新电话:‘) newTemp[‘电话‘] = newPhone cardList.remove(temp) # 删除 cardList.append(newTemp) # 添加 print(‘已修改‘) def findCard(): findFlag = 0 # 是否找到标志位 findName = input(‘请输入要查找的姓名:‘) for temp in cardList: if temp[‘姓名‘] == findName: # 选择与要查找的名字一致的temp,相等表示找到了 print(temp) # 打印要找的名片 findFlag = 1 # 标志位置1,表示找到了 if findFlag == 0: print(‘没找到‘) def showAllCard(): print(cardList) # 打印列表,即所有名片 def main(): while True: menu() choice = int(input(‘请输入选择功能序号:‘)) if choice == 1: addCard() # 添加名片 continue elif choice == 2: deleteCard() # 删除名片 continue elif choice == 3: modifyCard() # 修改名片 continue elif choice == 4: findCard() # 查找名片 continue elif choice == 5: showAllCard() # 显示所有 elif choice == 6: print(‘已退出!‘) break # 退出 main() # 调用主函数