字典和列表结合应用:名片管理系统

依旧要先说明的是字典的增删改查:

定义一个字典:

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("输入错误,请重新输入:")  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值