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

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

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

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

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

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

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

以上

时间: 2024-10-22 13:21:14

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

列表中嵌套字典,根据字典的值排序

格式:数据类型为列表,列表元素为字典.由字典组织的列表形式. 分析:可以将列表中的字典先放入到一个大字典中,对整个字典进行排序,在排序完成后,再转换为列表包含字典的形式即可 现在有一个列表,根据每个字典的值进行排序. dict_list = [{"ming": 87}, {"mei": 93}, {"hua": 68}, {"jon": 75}, {"ston": 100}, {"jack&quo

python中列表排序,字典排序,列表中的字典排序

#-*- encoding=utf-8 -*- import operator #按字典值排序(默认为升序) x = {1:2, 3:4, 4:3, 2:1, 0:0} sorted_x = sorted(x.iteritems(), key=operator.itemgetter(1)) print sorted_x #[(0, 0), (2, 1), (1, 2), (4, 3), (3, 4)] #如果要降序排序,可以指定reverse=True sorted_x = sorted(x.i

python对列表中的字典进行排序

数据显示为: rows=[{'日期': '2018-09-04', '测试1': '50.00 %', '测试2': '100.00%'}, {'日期': '2018-09-05', '测试1': '100.00%', '测试2': '无执行'}, {'日期': '2018-09-06', '测试1': '100.00%', '测试2': '100.00%'}, {'日期': '2018-08-31', '测试1': '无执行', '测试2': '无执行'}, {'日期': '2018-09-0

Python对列表中字典元素排序

问题起源 json对象a,b a = '{"ROAD": [{"id": 123}, {"name": "no1"}]}' b = '{"ROAD": [{"name": "no1"}, {"id": 123}]}' 特点:a,b对应的Python的对象中键对应的键值——列表中包含着相同的字典元素,但是唯一不同的是顺序不同.如果忽略顺序,如何判断两

[Python]名片管理系统

名片管理系统 目标 综合已经学习过的知识点 变量 流程控制 函数 模块 开发 名片管理系统 框架搭建 程序框架就是能简单运行的程序,但是这个程序还很不完善,有了基本的雏形 搭建名片管理系统框架结构 准备文件,确定文件名,保证能够在需要的位置编写代码 编写主运行循环,实现基本的用户输入和判断 文件准备 新建cards_main.py保存主程序功能代码 程序的入口 每一次启动名片管理系统都通过main这个文件启动 新建cards_tools.py保存所有名片功能函数 将对名片的新增,查询,修改,删除

zhlan--Python中的字典遍历方法 & 字典取值

一.Python中的字典遍历方法: info = { 'name':'xiaoming', 'sex':'nan', 'age':20, 'id':1} info2 = { 'name':'hhh', 'sex':'nv', 'addr':'beijign'} 第一种方法: # 直接循环字典,循环的是字典的key,如果想循环的时候同时获取到key和value,那么就要用 .items()方法for k,v in info.items(): print('%s is %s'%(k,v)) 运行结果

Python-列表嵌套字典-名片管理系统(适合刚学习完字典和列表的同学练手)

why?我要写这个程序.这个程序是在复习字典的使用并且配合前面复习过的列表来写的一个程序.实现一个名片的管理! 什么时候用列表什么时候用字典呢?面对这个问题我的想法是,当你存取的数据类型都是一样的时候,使用列表,当你存取的数据类型不一样时就用字典.这里说明一下数据类型不一样不是指整形或者字符型 举个例子:如果你需要存很多人的姓名,仅仅这一个属性,就用列表来进行处理,当你要存取不仅仅是人名,包括年龄,性别,国籍等等这些信息时,这时候用字典是最合适的. 在编写这个程序时,首先考虑2个问题: 1.列表

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

依旧要先说明的是字典的增删改查: 定义一个字典: dict = {'key1':'value','key2':'value'} 增: dic['key3'] = 'xxx'  #若键不存在,将这条键值存入字典. 删: del dict['key']  #删除这条键值关系. 改: dict['key'] = xxxx    #更改key对应的value,前提是key存在的情况下. 查: dict['key']    #若key 不存在会报错. dict.get('key')  #若key存在返回v

[python] 字典和列表中的pop()函数

在字典和列表中,pop()函数都是删除特定元素,并将删除的元素返回给指定的变量或丢弃 一.字典元素删除 1.1 clear() 语法:dict.clear() 1 x = {'a':1, 'b':2, 'c':3} 2 m= x.clear() 3 print(x,m) 4 #输出 5 {} None 说明:删除所有的元素 1.2 pop() 语法:dict.pop(key,[value]) 说明:删除指定键及对应的值,如果在字典中不存在键及value,则返回pop()中指定的key对应的val