Python3.6.5
  用Python编写的名片管理系统,能够实现基本的增删改查。但是在修改名片时,如果有相同姓名的话,仅会显示最早存入栈内的字典。
  想要修改相同姓名的信息,只能先更改其中一个相同名的姓名,再重新搜索自己想要更改的名片进行更改:两个张三在系统中姓名相同,假设一个是A,一个是B,要想修改B的信息,可以先修改A的名字改为XXX(尽量改成字母,这样的话,待会在搜索A将其姓名改回来的时候不容易与其他姓名冲突),然后修改B的信息。。。。。
  (emmmm修改比较麻烦,刚入门,,想了半天没想出来,路过的大神可以指点一下怎么更简单点)

#1. 打印功能提示
print("="*50)
print("   名片管理系统 V0.01")
print(" 1. 添加一个新的名片")
print(" 2. 删除一个名片")
print(" 3. 修改一个名片")
print(" 4. 查询一个名片")
print(" 5. 显示所有的名片")
print(" 6. 退出系统")
print("="*50)

#用来存储名片
card_infors = []

while True:

    #2. 获取用户的输入
    num = int(input("请输入操作序号:"))

    #3. 根据用户的数据执行相应的功能
    if num==1:
        new_name = input("请输入新的名字:")
        new_qq = input("请输入新的QQ:")
        new_weixin = input("请输入新的微信:")
        new_addr = input("请输入新的住址:")

        #定义一个新的字典,用来存储一个新的名片
        new_infor = {}
        new_infor['name'] = new_name
        new_infor['qq'] = new_qq
        new_infor['weixin'] = new_weixin
        new_infor['addr'] = new_addr

        #将一个字典,添加到列表中
        card_infors.append(new_infor)

        #print(card_infors)# for test

    elif num==2:
        del_name = input("请输入你要删除人的姓名:")
        遍历名片存储列表
        for temp in card_infors:
            #根据姓名相同进行查找
            if del_name == temp["name"]:
                card_infors.remove(temp)
                print("删除成功。")
                break
        else:
            print("查无此人!")

    elif num==3:
        same_name = input("请输入你要修改人的名字:")
        find_flag = 0#默认表示没有找到
        for temp in card_infors:
            if same_name == temp["name"]:
                print("姓名\tQQ\t微信\t住址")
                print("%s\t%s\t%s\t%s"%(temp['name'], temp['qq'], temp['weixin'], temp['addr']))
                find_flag=1#表示找到了
                old_temp = input("请输入要修改的信息名称(姓名/qq/weixin/addr)或者输入'q'退出查询操作:")
                while True:
                    if (old_temp=='姓名' or old_temp=='qq' or old_temp=='weixin' or old_temp=='addr')and old_temp!='q':
                        new_temp = input("请输入修改后的新信息:")
                        temp[old_temp]=new_temp
                        print("修改成功:")
                        print("修改后%s的信息:"%temp['name'])
                        print("姓名\tQQ\t微信\t住址")
                        print("%s\t%s\t%s\t%s"%(temp['name'], temp['qq'], temp['weixin'], temp['addr']))
                        break
                    elif old_temp=='q':
                        break
                    else:
                        old_temp=input("请输入正确的信息名称或者输入’q'键退出修改操作")
    
                        continue
        #判断是否找到了
        if find_flag == 0:
            print("查无此人....")
    elif num==4:

        find_name = input("请输入要查找的姓名:")

        find_flag = 0#默认表示没有找到

        for temp in card_infors:
            if find_name == temp["name"]:
                print("姓名\tQQ\t微信\t住址")
                print("%s\t%s\t%s\t%s"%(temp['name'], temp['qq'], temp['weixin'], temp['addr']))
                find_flag=1#表示找到了
#                break
#        else:
#            print("查无此人....")
        #判断是否找到了
        if find_flag == 0:
            print("查无此人....")
    elif num==5:
        print("姓名\tQQ\t微信\t住址")
        for temp in card_infors:
            print("%s\t%s\t%s\t%s"%(temp['name'], temp['qq'], temp['weixin'], temp['addr']))
    elif num==6:
        break
    else:
        print("输入有误,请重新输入")


    print("")