python自动化-作业1-2——A

多级菜单:

1.三级菜单

2.可以依次选择进入各个子菜单

3.各个菜单都可扩展选项

  缺点:

  1.多级菜单不能扩展等级。

select = {
    '中国': [
        {'北京': ['东城区', '西城区', '平谷区', '怀柔区','大兴区','昌平区','顺义区','通州区','房山区','门头沟区','海淀区','石景山区','丰台区','朝阳区','延庆区','密云区']},
        {'上海': ['徐汇区', '长宁区', '静安区', '普陀区', '虹口区', '杨浦区', '闵行区', '宝山区', '嘉定区', '浦东新区', '金山区', '松江区', '黄浦区', '奉贤区', '崇明区']},
        {'广东': ['广州市', '东莞市', '河源市', '江门市', '茂名市', '韶关市', '佛山市', '珠海市', '梅州市', '汕尾市', '清远市', '揭阳市']},
        {'深圳': ['罗湖区', '福田区', '南山区', '宝安区', '龙岗区', '盐田区', '龙华区', '坪山区']},
        {'湖南': ['湘潭','长沙','株洲','衡阳','邵阳','岳阳','常德','张家界','益阳','郴州','永州','怀化','娄底','湘西']},
    ],
    '美国': [
        {'纽约': ['曼哈顿', '布鲁克林', '布朗克斯', '昆斯', '里士满']},
        {'华盛顿': ['西雅图市', '奥林匹亚市', '斯波坎', '塔科马', '贝尔维尤', '雷德蒙德', '阿伯丁']},
        {'洛杉矶': ['洛杉矶县', '橙县', '河滨县', '圣伯纳丁县', '文图拉县']},
        {'旧金山': ['海浪琴', '西沃德街', '普雷西迪奥']}
    ],
    '英国': [
        {'伦敦': ['伦敦市', '威斯敏斯特市', '肯辛顿-切尔西', '哈默尔史密斯-富勒姆']},
        {'爱丁堡': ['爱丁堡城堡', '皇家英里大道', '圣吉尔斯大教堂', '司各特纪念塔', '卡尔顿山']},
        {'利物浦': ['萨迪奥·马内', '迪沃克·奥里吉', '多米尼克·索兰克', '塔伊沃·阿沃尼伊']},
    ],
    '日本': [
        {'东京': ['新宿区', '文京区', '中央区', '台东区', '港区', '品川区', '丰岛区', '葛饰区']},
        {'大阪': ['大阪市', '堺市', '丰中市', '松原市']},
        {'名古屋': ['热田区', '昭和区', '千种区', '瑞穗区']},
        {'横滨': ['青叶区', '港北区', '港南区', '鹤见区']}
    ],
}

entirely_quit = 0                   #全局退出变量
print('社会调查:(全局选项:  q.退出、b.返回上一级、其他.重新输入)'.center(100,'-'))
while 1:
    counter = 1
    state_value = []
    va = select.keys()
    for i in va:
        temp = str(counter)+'.'+i
        counter +=1
        state_value.append(temp)
    state_option = ''.join(state_value)
    state = input('请选择你要奋斗的城市(选项:{}):\n>>>:'.format(state_option))
    if state == 'b':
        continue
    if state == 'q':
        break
    if int(state) in set(range(1,len(state_value)+1)):
        key0 = [*select.keys()][int(state)-1]                   # 所选的国家
        key1 = [*select.values()][int(state)-1]
        # print(key1)
        region_value = []
        counter = 1
        for i in key1:
            temp,= i
            value_temp = str(counter)+'.'+temp
            counter += 1
            region_value.append(value_temp)
        region_option = ''.join(region_value)
        while 1:
            region = input('您是选择在【{}】的(选项:{})发展事业:\n>>>:'.format(key0,region_option))
            if region == 'b':
                break
            if region == 'q':
                entirely_quit = 1
                break
            if int(region) in set(range(1, len(region_value) + 1)):
                key3, = [*select.values()][int(state)-1][int(region)-1]
                # print(key3)
                val, = [*select.values()][int(state)-1][int(region)-1].values()
                # print(val)
                counter = 1
                locality_value = []
                for i in val:
                    temp = str(counter)+'.'+i
                    counter +=1
                    locality_value.append(temp)
                # print(locality_value)
                locality_option = ''.join(locality_value)
                # print(locality_option)
                while 1:
                    locality= input('你要在【{}】的【{}】的(选项:{})那个地方发展事业:\n>>>:'.format(key0,key3,locality_option))
                    if locality == 'b':
                        break
                    if locality == 'q':
                        entirely_quit = 1
                        break
                    if int(locality) in set(range(1, len(locality_value) + 1)):
                        value = val[int(locality)-1]
                        print('我们已经确认到你想工作的地方是:【{}-{}-{}】'.format(key0,key3,value))
                        entirely_quit = 1
                        break
                    else:
                        print('输入错误:请重新输入!')
                if locality == 'b':
                    continue
                if entirely_quit:
                    break
            else:
                print('输入错误:请重新输入!')
        if region == 'b':
            continue
        if entirely_quit:
            break
    else:
        print('输入错误:请重新输入!')
print('已经退出,感谢你的参与!'.center(100,'-'))

猜你喜欢

转载自www.cnblogs.com/guogangzhi/p/10086609.html
1-2