列表中放置字典的应用:名片管理系统

在宿舍宅了一天没出门,感觉自己快要霉掉了。

明天一定要出去走走才行啊,身体是自己的。

今天总算是半抄半写的把这个名片管理系统做完了,问题依然很多,比如我竟然忘了条件里的比较要用==而不是=……低级错误

手感不够,说起来手感这东西也只有长时间持之以恒地写代码才能培养出来了,好多东西不熟悉。

算了,说说今天这个系统好了,名片管理系统,用字典保存一个人的所有信息,用列表保存字典,再用列表的相应命令实现名片系统的增删改查,也即列表中的字典的增删改查。代码如下:

#1、程序说明
print('$'*50)
print(' 名片管理系统V0.1')
print('1、增加一个名片')
print('2、删除一个名片')
print('3、修改一个名片')
print('4、查询一个名片')
print('5、打印所有名片')
print('6、退出系统')
print('$'*50)
#2、定义一个空列表用来存储字典信息
card_infor = []
#3、根据用户指令执行相关操作
while True:
user = int(input('请输入命令:'))
if user == 1:
n_name = input('请输入新人姓名:')
n_numb = input('请输入新人电话:')
n_addr = input('请输入新人住址:')
n_QQ = input('请输入新人QQ:')
infor = {} #定义一个空字典用来存储要添加的人
infor['name']=n_name
infor['numb']=n_numb
infor['addr']=n_addr
infor['QQ']=n_QQ
card_infor.append(infor)
print (card_infor)

elif user == 2:
del_name = input('请输入要删除的姓名:')
del_flag = 0
for temp in card_infor:
if temp['name']==del_name:
card_infor.remove(temp)
print('已删除。剩余名片:')
print("姓名\t电话\t住址\tQQ")
for tttt in card_infor:
print("%s\t%s\t%s\t%s"%(tttt['name'],tttt['numb'],tttt['addr'],tttt['QQ']))

del_flag = 1
if del_flag==0:
print('查无此人,无法删除')
elif user == 3:
ch_name = input('要修改谁的信息:')
ch_flag = 0
for temp in card_infor:
if ch_name==temp['name']:
ch_flag=1
print('1、电话\t2、住址\t3、QQ')
ch_op = int(input('要修改什么内容:'))
if ch_op==1:
temp['numb']=input('请输入新的电话:')
elif ch_op==2:
temp['addr']=input('请输入新的住址:')
elif ch_op==3:
temp['QQ']=input('请输入新的QQ:')
else :
print('错误代码')
print('已修改,新的名片为:')
print("姓名\t电话\t住址\tQQ")
print("%s\t%s\t%s\t%s"%(temp['name'],temp['numb'],temp['addr'],temp['QQ']))

if ch_flag==0:
print('查无此人,无法修改')

elif user == 4:
find_name = input('请输入要查找的姓名:')
find_flag = 0
for tempt in card_infor:
if find_name == tempt['name']:
print('Find it')
print("姓名\t电话\t住址\tQQ")
print("%s\t%s\t%s\t%s"%(tempt['name'],tempt['numb'],tempt['addr'],tempt['QQ']))
find_flag = 1
if find_flag == 0:
print('查无此人')
elif user == 5:
print('现有名片:')
print("姓名\t电话\t住址\tQQ")
for temp in card_infor:
print("%s\t%s\t%s\t%s"%(temp['name'],temp['numb'],temp['addr'],temp['QQ']))

elif user == 6:
break
else :
print('输入有误,请重新输入')

 

从sublime来的,依旧默认去除了退格,好蛋疼。。。

大致内容,用user = input(xxx)获取用户指令实现相关操作,整个程序很简单,有一个问题,就是输入命令时如果输入数字还好,顶多提示有误,输入字母和字符串的时候直接报错崩溃,,我要想想怎么改这个东西。

以上

posted @ 2017-11-24 20:24  神龟虽寿  阅读(326)  评论(0编辑  收藏  举报