Python中,我們可以使用遞歸函數來實現無限極菜單,快來看看吧。
def generate_menu(menu_item): if menu_item['sub_menu_items']: print(menu_item['title']) for sub_menu_item in menu_item['sub_menu_items']: generate_menu(sub_menu_item) else: print(menu_item['title']) menu_item_1 = {'title': '菜單項1', 'sub_menu_items': []} menu_item_2 = {'title': '菜單項2', 'sub_menu_items': []} menu_item_3 = {'title': '菜單項3', 'sub_menu_items': []} menu_item_4 = {'title': '菜單項4', 'sub_menu_items': []} menu_item_5 = {'title': '菜單項5', 'sub_menu_items': []} sub_menu_item_1 = {'title': '子菜單項1', 'sub_menu_items': [menu_item_5]} sub_menu_item_2 = {'title': '子菜單項2', 'sub_menu_items': []} sub_menu_item_3 = {'title': '子菜單項3', 'sub_menu_items': []} menu_item_2['sub_menu_items'] = [sub_menu_item_1, sub_menu_item_2] menu_item_3['sub_menu_items'] = [sub_menu_item_3] menu_item_4['sub_menu_items'] = [menu_item_3] menu_item_1['sub_menu_items'] = [menu_item_2, menu_item_4] generate_menu(menu_item_1)
以上代碼中,我們定義了一個generate_menu
遞歸函數,用于生成無限極菜單。該函數接收一個菜單項作為參數。如果該菜單項含有子菜單項,則打印菜單項標題并調用自身函數,循環遍歷該菜單項下的每一個子菜單項,直到沒有子菜單項為止。
我們還定義了一些菜單項和子菜單項,模擬了一個菜單樹結構。最后,我們將最頂層的菜單項menu_item_1
作為參數傳遞給generate_menu
函數,生成了整個無限極菜單。
上一篇vue基礎到實戰
下一篇vue cooking