1. 程式人生 > >實例 - 購物車 (字典、循環)

實例 - 購物車 (字典、循環)

保存 列表 pen post 動態 一個 一次 you 當前

menu = {
    北京:{
        朝陽:{
            國貿:{
                CICC: {},
                HP: {},
                渣打銀行: {},
                CCTV: {},
            },
            望京:{
                陌陌: {},
                奔馳: {},
                360: {},
            },
            
三裏屯:{ 優衣庫:{}, apple:{}, } }, 昌平:{ 沙河:{ 老男孩:{}, 阿泰包子:{}, }, 天通苑:{ 鏈家:{}, 我愛我家:{}, }, 回龍觀:{} },
海澱:{ 五道口:{ 谷歌:{}, 網易:{}, Sohu:{}, Sogo:{}, 快手:{}, }, 中關村:{ youku:{}, Iqiyi:{}, 汽車之家:{}, 新東方:{},
QQ:{}, }, } }, 上海:{ 浦東:{ 陸家嘴:{ CICC:{}, 高盛:{}, 摩根:{}, }, 外灘:{}, }, 閔行:{}, 靜安:{}, }, 山東:{ 濟南:{ }, 德州:{ 樂陵:{ }, 平原:{}, 丁塢鎮:{}, 城區:{}, }, 青島:{ }, } } current_layer = menu #實現動態循環 parent_layers = [] #保存所有父級,最後一個元素永遠都是父級 while True: for key in current_layer: print(key) choice = input(>>>:).strip() #移除字符串頭尾指定的字符(默認為空格) if len(choice) == 0:continue if choice in current_layer: parent_layers.append(current_layer) #在進入下一層之前,把當前層 #(也就是下一層的父級)追加到列表中,下一次loop,當用戶選擇b, # 就可以直接取列表的最後一個值出來 current_layer = current_layer[choice] #改成子層 elif choice == b: if parent_layers: #空列表False,非空列表為True current_layer = parent_layers.pop() #取出列表的最後一個值,因為就是當前層的父級 else: invalid input

實例 - 購物車 (字典、循環)