1. 程式人生 > >python三級菜單練習

python三級菜單練習

目的 {} div pop class 分享 odin pen 技術分享


需求:
可依次選擇進入各子菜單
可從任意一層往回退到上一層
可從任意一層退出程序
所需新知識點:列表、字典 技術分享圖片
 1 # -*- coding:utf-8 -*-
 2 # Author:Xiaorui
 3 # 需求:
 4 # 可依次選擇進入各子菜單
 5 # 可從任意一層往回退到上一層
 6 # 可從任意一層退出程序
 7 # 所需新知識點:列表、字典
 8 menu = {
 9     北京: {
10         海澱: {
11             五道口: {
12                 soho: {},
13                 網易
: {}, 14 google: {} 15 }, 16 中關村: { 17 愛奇藝: {}, 18 汽車之家: {}, 19 youku: {}, 20 }, 21 上地: { 22 百度: {}, 23 }, 24 }, 25 昌平: { 26
沙河: { 27 老男孩: {}, 28 北航: {}, 29 }, 30 天通苑: {}, 31 回龍觀: {}, 32 }, 33 朝陽: {}, 34 東城: {}, 35 }, 36 上海: { 37 閔行: { 38 "人民廣場": { 39 炸雞店: {} 40 }
41 }, 42 閘北: { 43 火車戰: { 44 攜程: {} 45 } 46 }, 47 浦東: {}, 48 }, 49 山東: {}, 50 } 51 place_menu = menu 52 last_place_layers = [] # 采用列表,目的是之後可以調用列表的pop()方法 53 while True: # while死循環保證非用戶退出就一直在循環中,且只使用一次while循環 54 for i in place_menu: 55 print(i) 56 choice = input("請輸入地名:").strip() # strip()方法除去輸入倆側空格 57 if not choice: # 判斷用戶是否輸入的已有地名 58 continue 59 else: 60 pass # if..else語句完整,便於閱讀 61 if choice in place_menu: # 判斷用戶是否輸入的已有地名 62 last_place_layers.append(place_menu) # 運用append()方法保存操作前的一層 63 place_menu = place_menu[choice] # 進入下一層 64 if not place_menu: # 判斷是否處在底層,if進行判斷時字典空為假,所以此處用not 65 print("你已經處在底層,回到上層請輸入b,退出請輸入p!") 66 else: 67 pass 68 elif choice == "b" or choice == "B": # 任意層可返回上一層 69 if len(last_place_layers) != 0: 70 place_menu = last_place_layers.pop() 71 else: 72 print("目前處於頂層!") 73 else: # 任意層可退出 74 if choice == "p" or choice == "P": 75 break 76 else: 77 pass # PEP8規範pass等不可結尾
View Code

python三級菜單練習