码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-11-24 21:42:50      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:指令   时间   put   app   退出   管理系统   int   错误代码   []   

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

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

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

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

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

#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)获取用户指令实现相关操作,整个程序很简单,有一个问题,就是输入命令时如果输入数字还好,顶多提示有误,输入字母和字符串的时候直接报错崩溃,,我要想想怎么改这个东西。

以上

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

标签:指令   时间   put   app   退出   管理系统   int   错误代码   []   

原文地址:http://www.cnblogs.com/checkcheckcheck/p/7892220.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!