python数据类型 acgred.cn

需求:

可依次选择进入各子菜单

可从任意一层往回退到上一层

可从任意一层退出程序

所需新知识点:列表、字典

menu = {
'北京':{
'海淀':{
'五道口':{
'soho':{},
'网易':{},
'google':{}
},
'中关村':{
'爱奇艺':{},
'汽车之家':{},
'youku':{},
},
'上地':{
'百度':{},
},
},
'昌平':{
'沙河':{
'老男孩':{},
'北航':{},
},
'天通苑':{},
'回龙观':{},
},
'朝阳':{},
'东城':{},
},
'上海':{
'闵行':{
"人民广场":{
'炸鸡店':{}
}
},
'闸北':{
'火车战':{
'携程':{}
}
},
'浦东':{},
},
'山东':{},
}

current_layer = menu
last_layer = [ ]

while True :
for i in current_layer :
print(i)
choice = input("输入你的地点:")
if choice in current_layer :
last_layer.append(current_layer)  #保存当前层
print(current_layer)


current_layer = current_layer[choice]
elif choice == 'b' or choice == 'B' :
if len(last_layer) != 0 :
current_layer = last_layer.pop() #删除最后一层
else : www.acgred.cn
print('已经是最顶层')
elif choice == 'q' or choice == 'Q' :
print('退出选择')
break
else :
print('输入正确的地点')

PS:这个怎么定义成函数实现呢?待后续修改

1.列表
列表是一个数据的集合,集合内可以放任何数据类型,可对集合进行增删改查;
name=['a','b','c','d','f','d','g']

        1.查询元素
        name[0]通过索引找到第一个元素
        name[-1]z找最后一个元素
        name[-2]倒数第二个元素
        name.index('d')返回指定元素的索引值,从左右查找,找到第一个匹配的;
        name.count('d')统计元素d的个数;

        2.切片
        name[0:3]  取0-2个元素,即前三个,切片顾头不顾尾
        name[:3]取前三个
        name[-5:]取后五个 
        name[::]取全部元素
        name[:5:2] 取135个;  2为步长;每隔2个取一个元素;

        3.增加
        name.append(‘haha’)  末尾追加一个元素haha

        4.插入
        name.insert(0,'abd')  位置0插入元素abd
        name.insert(2,'aa') 位置2插入元素aa

        5.修改
        n[3] = 'hello'     第四个元素修改为hello

        6.删除
        name.pop   删除最后一个
        name.remove('a') 删除元素a,从左往右,删除第一个元素a
        del name[2]  删除索引为2的元素;(del是一个全局的删除命令,可以删除所有,包括变量等)
        del name[2:4] 删除索引2-3的元素

        7.循环
        L2 = ['a','b','c','d','e','f']

        for i in L2 :
                    print(i) 
        将L2列表中的每个值赋值给变量i,打印出每个i的值;

        range(10)     生成一个09的列表

        for i in range(10) 

        8.排序
        name.sort()  对name按照ASCII从大到小进行排序,排序后再查看列表;
        name
        name.reverse()  将列表name倒叙

        9.合并列表
        name+name1      将name和name1列表合并
        name.extend(name1) 将列表name扩展

        10.清空列表
        name.clear()   清空name列表

        11.name1=name
        name1=name 将name赋值给name1,name列表修改后,name1的数据会同步

        12.copy
        name1=name.copy()  #浅copy
        import copy #深copy,导入python的工具箱
        name1=name.deepcopy(name)

        13.enumerate(name)  #枚举

2.字典
字典是无序的;
dic={'k1':'v1','k2':'v2' }
修改
dic['k1']=2     #修改
dic['k3']='v3'    #增加

3.元组
tuple = ('a','b','c')
元组不可修改 www.gaimor.cn

猜你喜欢

转载自blog.csdn.net/qq_42345394/article/details/80832549