python---名片管理(并对名片进行增、删、改、查、功能的实现)

调用函数,采用遍历来进行查找,删除,更改,显示
# -*- coding:UTF-8 -*-
print("***名片管理系统***")
card_infors=[]#定义一个列表,用来储存名片
def print_menu():
	"完成打印功能菜单"
	print("="*50)
	print("名片管理系统vo.01")
	print("1.添加一个新的名片")
	print("2.删除一个名片")
	print("3.修改一个名片")
	print("4.查询一个名片")
	print("5.显示所有的名片")
	print("6.退出系统")
	print("="*50)
def add_new_card_infor():
	"***完成添加一个新的名片***"
	new_name = raw_input("请输入一个新的名字:")
	new_qq = input("请输入qq:")
	new_weixin = input("请输入微信:")
	new_addr = raw_input("请输入地址:")
#定义一个新的字典,用来储存一个新的名片
	new_infor = {}
	new_infor['name']=new_name
	new_infor['qq']=new_qq
	new_infor['weixin']=new_weixin
	new_infor['addr']=new_addr
#将一个字典,添加到字典中
	global card_infors
	card_infors.append(new_infor)
#print(card_infors)
#for test
def find_card_infor():
	"***查询一个名片***"
	global card_infors
	find_name = raw_input("请输入要查找的名字:")
	find_flag = 0#默认表示没有找到
	for temp in card_infors:
		if find_name==temp['name']:
			print("%s\t%s\t\t%s\t\t%s"%(temp['name'],temp['qq'],temp['weixin'],temp['addr']))
			find_flag = 1#表示找到了
			break
		#判断是否找到此人
	if find_flag==0:
		print("查无此人")
def  show_all_infor():
	"***显示所有信息***"
	global card_infors
	print("姓名\tQQ\t\t\t微信\t\t\t住址")
	for temp in card_infors:
		print("%s\t%s\t%s\t%s\t"%(temp['name'],temp['qq'],temp['weixin'],temp['addr']))
def del_card_infor():
	global card_infors
	del_name = raw_input("请输入要删除的名字:")
	flag = 0
	for temp in card_infors:
		if del_name==temp['name']:
			print("%s\t%s\t\t%s\t\t%s"%(temp['name'],temp['qq'],temp['weixin'],temp['addr']))	
			card_infors.remove(temp)
			#card_infors.pop(temp)不可以使用,因为里面只能是只能是整形在小括号里
			#del card_infor[]只有知道要删除的元素的脚码,才可以使用
			show_all_infor()#将删除后的名片打印出来
			flag = 1
			break
	if flag==0:
		print("查无此人,无法执行删除")
def change_card_infor():
	"****修改一个信息****"
	change_name = raw_input("请输入要更改的名字:")
 	change_flag = 0#默认没有找到要更该的名字
	fllag=0#默认没有修改成功
	sign=0
	for temp in card_infors:
		sign+=1
		if change_name==temp['name']:
			change_flag=1#找到要修改的名字
			print("1.修改名字")
			print("2.修改qq")
			print("3.修改微信")
			print("4.修改地址")
			print("5.退出系统")
			while True:num = input("请输入要修改的编号:"):
				if num==1:
					card_infors[sign-1]['name']=raw_input("请输入一个新的名字:")
					fllag=1#表示修改成功
				elif num==2:
					card_infors[sign-1]['qq']=raw_input("请输入一个新的qq:")
					fllag=1
				elif num==3:
					card_infors[sign-1]['weixin']=raw_input("请输入一个新的微信:")
					fllag=1
				elif num==4:
					card_infors[sign-1]['addr']=raw_input("请输入一个新的地址:")
					fllag=1
				else:
					print("退出系统")
					break
				if change_flag==0:
					print("没有找到要修改的人")
				if fllag==1:
					print('修改成功')
					show_all_infor()#将修改后的信息都显示出来
def main():
"***完成对整个程序的控制"
#1.打印功能提示
	print_menu()
	while True:
#2.获取用户的输入
	num=int(input("请输入操作的序号:"))
	if num==1:
		add_new_card_infor()
	elif num==2:
		del_card_infor()
	elif num ==3:
		change_card_infor()
	elif num==4:
		find_card_infor()
	elif num==5:
		show_all_infor()
	elif num==6:
		break
	else:
		print("输入有误,重新输入")
	print("")
main()


 
 

你可能感兴趣的:(练习题;函数)