依旧要先说明的是字典的增删改查:
定义一个字典:
dict = {‘key1‘:‘value‘,‘key2‘:‘value‘}
增: dic[‘key3‘] = ‘xxx‘ #若键不存在,将这条键值存入字典。
删: del dict[‘key‘] #删除这条键值关系。
改: dict[‘key‘] = xxxx #更改key对应的value,前提是key存在的情况下。
查: dict[‘key‘] #若key 不存在会报错。
dict.get(‘key‘) #若key存在返回value,若key不存在返回为空不报错(推荐使用)
字典和列表结合操作的典例:
我这个写的稍有繁杂,希望多提建议。
思想就是将每个人的名片包含的信息(姓名,手机号,QQ,地址)存到每个字典里,然后将每个字典存到列表中。
1 #名片管理系统V1.01,将用户信息以字典存储,放入列表 2 #打印目录,增删改查(1,2,3,4)退出系统0 3 #获取用户所选择的功能 4 cards = [] 5 #功能实现 6 while 1: 7 print("名片管理系统-V1.01") 8 print(‘*‘*20) 9 print("1.添加新名片") 10 print("2.删除一个名片") 11 print("3.修改名片信息") 12 print("4.查找名片是否存在") 13 print("5.查看名片信息") 14 print("0.退出系统") 15 print(‘*‘*20) 16 user_option = int(input("请输入您的选择:")) 17 if user_option == 1: #增 18 new_name = input("请输入您的姓名:") 19 new_phoneNum = input("请输入您的手机号码:") 20 new_qq = input("请输入您的QQ:") 21 new_add = input("请输入您的地址:") 22 new_card = {} 23 new_card[‘name‘] = new_name 24 new_card[‘phoneNum‘] = new_phoneNum 25 new_card[‘QQ‘] = new_qq 26 new_card[‘add‘] = new_add 27 cards.append(new_card) 28 elif user_option == 2: #删 29 del_name = input("请输入删除名片的姓名:") 30 index = 0 31 flag = 0 32 for card in cards: 33 if card[‘name‘] == del_name: 34 del cards[index] 35 flag = 1 36 break 37 index += 1 38 if flag == 0: 39 print("很抱歉,查无此人无法删除!") 40 elif user_option == 3: #改 41 correct_name = input("请输入修改名片的姓名:") 42 index = 0 43 flag = 0 44 for card in cards: 45 if card[‘name‘] == correct_name: 46 flag = 1 47 break 48 index += 1 49 if flag == 0: 50 print("查无此人,无法修改!") 51 print("1.修改姓名") 52 print("2.修改号码") 53 print("3.修改QQ") 54 print("4.修改住址") 55 correct_option = int(input("请输入您的修改选项:")) 56 correct_content = input("请输入您的修改内容:") 57 if correct_option == 1: 58 cards[index][‘name‘] = correct_content 59 elif correct_option == 2: 60 cards[index][‘phoneNum‘] = correct_content 61 elif correct_option == 3: 62 cards[index][‘QQ‘] = correct_content 63 elif correct_option == 4: 64 cards[index][‘add‘] = correct_content 65 else: 66 print("修改选项不正确请重新选择!") 67 elif user_option == 4: #找 68 del_name = input("请输入查找名片的姓名:") 69 index = 0 70 flag = 0 71 for card in cards: 72 if card[‘name‘] == del_name: 73 print("姓名\\t电话\\tQQ\\t住址") 74 print("%s\\t%s\\t%s\\t%s"%(cards[index][‘name‘],cards[index][‘phoneNum‘],cards[index][‘QQ‘],cards[index][‘add‘])) 75 flag = 1 76 break 77 index += 1 78 if flag == 0: 79 print("很抱歉,查无此人!") 80 81 elif user_option == 5: #查 82 for card in cards: 83 print("姓名\\t电话\\tQQ\\t住址") 84 print("%s\\t%s\\t%s\\t%s"%(card[‘name‘],card[‘phoneNum‘],card[‘QQ‘],card[‘add‘])) 85 elif user_option == 0: #退出系统 86 break 87 else: 88 print("输入错误,请重新输入:")