Python 列表-字典嵌套,名片管理

之前练习名字管理的时候挺顺利,现在练习名片管理。一直卡在删除这里,总是搞不清楚怎么把列表中的字典整体删除,搞了很长时间终于有了头绪。新手自学,估计后面会有更好的方法,只是现在还不会····慢慢摸索。

要实现功能:
#增加名片
#修改名片
#查找名片
#显示所有
#删除名片
#退出

CallingCard = [] #用来存储用户名片卡
print("1.增加 2.更改 3.查询 4.显示所有名片 5.删除 6.退出")
while True :
	num = int(input("请输入操作序号:")) #根据用户输入,执行相应功能
	if num ==1 :
		#先增加一个字典,把字典增加到list中
		EveryCard = {}
		while True:
			Name = input("Name:")
			Tell = int(input("Tell":))
			QQ = int(input("QQ:"))
			Addr = input("Addr:")
			EveryCard["Name"] = Name
			EveryCard["Tell"] = Tell
			EveryCard["QQ"] = QQ
			EveryCard["Addr"] = Addr
			CallingCard.append(EveryCard)
			#是否继续添加,Y继续  N停止
			next_do = input("是否继续增加:Y 继续,N 停止:")
			if next_do == "Y" or next_do =="y":
				continue
			elif next_do == "N" or next_do =="n":
				print("输入错误,重新输入")
				break
	#更改名片
	elif num == 2:
		Change_name = input("请输入要变更的名字:")
		for temp in CallingCard:
			if Change_name == temp["Name"]:
				print("姓名\t电话\t	QQ\t地址")
				print("%s\t%s\t%s\t%s"%(temp["Name"],temp["Tell"],temp["QQ"],temp["Addr"]))
				print("")
				num = int(input("请输入变更序号:1. 姓名 2.电话 3. QQ 4.地址"))
				if num ==1:
					new_name = input("请输入新名字:")
				elif num ==2:
					new_tell = input("请输入新电话:")
				elif num ==3:
					new_QQ = input("请输入新的QQ:")
				elif num ==4:
					new_addr = input("请输入新的地址:")
				else:
					pass
	
	#查询名片
	elif num ==3:
		find_name = input("请输入要查找的名字:")
		find_flag = 0 #默认等于0找不到
		for temp in CallingCard:
			if find_name == temp["Name"]:
				print("姓名\t电话\t QQ\t地址")
    				print("%s\t%s\t%s\t%s"%(temp["Name"],temp["Tell"],temp["QQ"],temp["Addr"]))
    				find_flag = 1 #找到等于1
    				break
    			if find_flag == 0: #找不到
    				print("查无此人")
    	#显示全部名片
    	elif num == 4:
    		print("姓名\t电话\t QQ\t地址")
    		for temp in CallingCard:
        			print("%s\t%s\t%s\t%s"%(temp["Name"],temp["Tell"],temp["QQ"],temp["Addr"]))
        	#删除名片
        	elif num == 5:
        		find_flag = 0 #默认等于0找不到
        		del_name = input("请输入要删除的名字:")
        		for temp in CallingCard:
        			if temp["Name"] == del_name:
        				find_flag = 1 #找到了
        				CallingCard.remove(temp)
        				print("用户%s已删除"%(del_name))
        		if find_flag == 0:
        			print("输入用户不存在,重新输入")
        	elif num == 6:
        		break
        	else:
        		print("输入错误,请重新输入")				
				

```
以上为本案例全部内容,几次复制失败,手敲了一遍,就当加深印象了吧···!···!

以上为本案例全部内容,几次复制失败,手敲了一遍,就当加深印象了吧···!···!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值