python学习day06

一:字典的学习

#codeing:UTF-8
#__author__:Duke
#date:2018/3/3/001
#今天学习python中最为重要的数据类型 字典

#字典的创建

# 一对大括号
a = {'name':'duke','age':'20'}
print(a)


#
a['worke']='IT';
print(a)


#setdefault 方法  如果键存在,即返回键的值,不存在,即返回插入的值
b = a.setdefault('hobby','learning');
print(a)
print(b)
b = a.setdefault('hobby','haha');
print(b)



#查  通过键去查看
print(a['name'])

#查看全部的key
print(list(a.keys()))

#修改
a['name'] = 'wangwang';
print(a);

#加入
c = {'name':'duke','high':170}
a.update(c);   #将a中没有c中的键时,将c中的这些键加入a中,有相同键时,直接更新他的值
print(a)


#排序
print(sorted(a.items()))

#循环遍历 1
for i,v in a.items():      #遍历出来的是键
    print(i,v)

#方法2
for i in a:      #遍历出来的是键
    print(i,a[i])
    
#
#del 方法
print(a)
del a['name']   #删除指定键值对
print(a)

#pop方法
d = a.pop('age')   #删除指定键值对,并返回删除的值
print(d)
print(a);

#popitem方法
d = a.popitem()  #随机删除一个键值对  几乎没用
print(d)
print(a)



#clear方法
a.clear()   #清空字典,该对象还存在
print(a)

#  del a    #直接删除字典这个对象

 二:一个三级菜单的创建小程序

#codeing:UTF-8
#__author__:Duke
#date:2018/3/3/003
information = {
    '河南' :{
        '郑州':{
            '高新区':{},
            '二七广场':{},
        },
        '洛阳':{}
    },

    '北京' :{
        '朝阳':{
            '国贸':{
                'CICC':{},
            },
        },
        '海淀':{
            '五道口':{
                '谷歌':{},
                '网易':{},
                '搜狐':{},
                '快手':{},
            },
            '中观村':{
                'youku':{},
                '汽车之家':{},
                '新东方':{},
            },
        },
        '三里屯':{
            '回龙观':{},
        },
    },
    '上海':{
        '浦东':{
          '陆家嘴':{
              'CICC':{},
              '摩根':{},
          },
            '外滩':{},
        },
        '静安':{},
        '闽行':{},
    }
}   #字典存放三级菜单数据

current_layer = information;  #记录当前所在级
parent_layers =[ ];  #列表存放进入路径
while True:
    for key in current_layer:
        print(key);  #循环打印菜单
    choice  =  input("[b:返回 ]>>>:").strip()  #输入,并去除前后的空格形式的多余字符
    if len(choice) == 0:continue;
    if choice in current_layer:
        parent_layers.append(current_layer)   #进入下一层前先将他的前一层放到进入的路径列表中
        current_layer = current_layer[choice];   #将下一层赋值为当前层
    elif choice == 'b':
        if parent_layers:
            current_layer = parent_layers.pop ();  #取出它的父层,并赋值到当前层
        else:
            print("已经是最第一层。")
    else:    #判断非法输入
        print("无该选项...");

 

posted @ 2018-03-03 23:13  Duke777  阅读(163)  评论(2编辑  收藏  举报