Python 之 字典操作 (名片管理系统2)

这篇博客可以获得一下内容:(和前一篇博客重复的知识点不在提及)

1.字典操作:

                  1>.增:dict['name'] = 'name1'

                  2>.删:del dict['name']  删除字典中的某项

                  3>.改:dict['name'] = "name2' 与增加相同,若字典中已存在此项则表示修改

                  4>.查:dict.get(key)  或者 dict[name] 强烈建议使用第一种

2.字典可以作为元素嵌套在列表内

3.for- else 用法

4.print("%s"%(name)) print 格式输出

#用户提示
print("     名片管理系统")
print("*"*10)
print("1.打印所有名片信息")
print("2.查询某人名片信息")
print("3.修改某人名片信息")
print("4.添加某人名片信息")
print("5.删除某人名片信息")
print("6.退出系统")
print("*"*10)
#字典嵌套在列表中
name_dict = [{"name":"花花","addr":"地球","age":18},{"name":"天天","addr":"月球","age":19}]
#用户输入
while True:
    #str_name = ""
    #str_num = ""
    str_num = int(input("请输入查询序号"))
    #打印列表
    if str_num == 1:
        for temp in name_dict:
            print("name:%s,addr:%s,age:%d"%(temp["name"],temp["addr"],temp["age"]))
        print("打印完成")
    #打印某个人信息
    elif str_num == 2:
        src_flag = 0
        str_name = input("请输入姓名")
        for temp in name_dict:
            #print(temp.get('name'))
          #  print(temp['name']) for test
          #  print(str_name)
            if temp['name'] == str_name:
                print("name:%s,addr:%s,age:%d" % (temp["name"], temp["addr"], temp["age"]))
                #print(temp.get('name'),temp.get('addr'),temp.get('age'))
                src_flag = 1
                break
        if src_flag == 1:
            print("查询完成")
        else:
            print("查无此人")
    #修改某个人信息
    elif str_num == 3:
        temp_dict = {}
        str_name = input("请输入姓名")
        for temp in name_dict:
            if temp["name"] == str_name:
                str_addr = input("请输入地址")
                str_age = int(input("请输入年龄"))
                temp["addr"] = str_addr
                temp["age"] = str_age
                print("修改完成")
                break
        else:
            print("没有找到此人name 无法修改")
    #添加某个人信息
    elif str_num == 4:
        temp_dict = {}
        str_name = input("请输入姓名")
        str_addr = input("请输入地址")
        str_age = int(input("请输入年龄"))
        temp_dict["name"] = str_name
        temp_dict["addr"] = str_addr
        temp_dict["age"] = str_age
        name_dict.append(temp_dict)
        print("添加成功")
    #删除某个人信息
    elif str_num == 5:
        str_name = input("求输入姓名")
        for temp in name_dict:
            if temp["name"] == str_name:
                name_dict.remove(temp)
                print("删除成功")
                break;
        else:
            print("删除失败,可能是因为没有此人")
    #退出
    elif str_num == 6:
        break;
    else:
        pass
print("程序已退出")

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值