zoukankan      html  css  js  c++  java
  • Day2课后作业:三级菜单简单版

    menu = {
    '北京':{
    '海淀':{
    '五道口':{
    'soho':{},
    '网易':{},
    '谷歌':{}
    },
    '中关村':{
    '爱奇艺':{},
    '汽车之家':{},
    'youku':{},
    },
    '上地':{
    '百度':{},
    '联想':{},
    'H3C':{},
    },
    },
    '昌平':{
    '沙河':{
    '老男孩':{},
    '阿泰包子':{},
    ' 北航':{},
    },
    '天通苑':{
    '圆通快递':{},
    '三合贸易':{},
    },
    '回龙观':{
    '腾讯众创':{},
    '盈创动力':{},
    '三一重机':{},
    },
    },
    '朝阳':{
    '太阳宫':{},
    '小红门':{},
    '十八里店':{},
    },
    '东城':{
    '安定门':{},
    '建国门':{},
    '东直门':{},
    },
    },
    '上海':{
    '闵行':{
    "人民广场":{
    '炸鸡店':{}
    }
    },
    '闸北':{
    '火车战':{
    '携程':{}
    }
    },
    '浦东':{
    '东方明珠':{
    '黄浦江':{}
    }
    },
    },
    '山东':{
    '济南':{'红叶谷':{}
    },
    '青岛':{'啤酒博物馆':{}
    },
    '泰安':{'泰山':{}
    },
    },
    }
    current_level = menu
    last_level =[]
    while True:
    for key in current_level:
    print(key)
    choice = input(">>:").strip()
    if len(choice) == 0:
    continue
    if choice =="b":
    if len(last_level)==0:
    break
    current_level =last_level[-1]
    last_level.pop()
    elif choice =="q":
    print("程序已退出!")
    break
    elif choice not in current_level:
    continue
    else:
    last_level.append(current_level)
    current_level = current_level[choice]#进入下一层

    解释:

    1.定义一个字典,menu;
    2.定义一个变量current_level,用来加载当前层,第一次赋值menu;
    3.定义一个列表last_level,用来加载上一层,第一次可以用空;
    4.用一个while循环,条件为真
    5,用for循环表示可以一层一层的无限的显示字典的内容;for循环,循环每一层。

    6.进入下一层:
    current_level =current_level[choice]
    并且,每进入一层,就存当前层:
    last_level.append(current_levle)


    7.每退出一层,取列表最后一个值,然后再删除列表最后一个值。

    8.判断:如果输入是回车,就继续输入

    9.判断,如果,列表为空,那么直接退出

    10.每次返回上一次,上一层就是last_level的最后一个值,然后列表last_level都要删除最后一个元素
    11.判断:如果输入的是q,直接退出,不考虑层数

    流控图:

  • 相关阅读:
    JSON
    Iterator
    JSP内置对象和EL内置对象
    JavaBean简介
    Java关键字final、static使用总结
    static 语句块
    修改tomcat端口号的方法
    URL和URI的区别
    java.util.vector中的vector的详细用法
    java中Long 和long的区别
  • 原文地址:https://www.cnblogs.com/gaojun2017/p/6336445.html
Copyright © 2011-2022 走看看