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

来源:互联网 发布:mysql安装教程5.7.20 编辑:程序博客网 时间:2024/04/30 09:10

调用函数,采用遍历来进行查找,删除,更改,显示
# -*- 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_namenew_infor['qq']=new_qqnew_infor['weixin']=new_weixinnew_infor['addr']=new_addr#将一个字典,添加到字典中global card_inforscard_infors.append(new_infor)#print(card_infors)#for testdef find_card_infor():"***查询一个名片***"global card_inforsfind_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_inforsprint("姓名\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_inforsdel_name = raw_input("请输入要删除的名字:")flag = 0for 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 = 1breakif 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()
 
阅读全文
1 0