實例 - 購物車 (字典、循環)
阿新 • • 發佈:2018-02-24
保存 列表 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‘
實例 - 購物車 (字典、循環)