双重for循环输出菜单树代码怎么写
时间: 2024-05-01 09:22:55 浏览: 52
实现树型菜单的javascript
假设菜单树的数据结构为:
```
class MenuItem:
def __init__(self, name, children=[]):
self.name = name
self.children = children
```
可以使用双重循环来输出菜单树:
```
def print_menu(menu, level=0):
for item in menu:
print(" " * level + item.name)
if item.children:
for child in item.children:
print_menu([child], level+1)
```
其中 `level` 参数用于控制缩进层数。在每个菜单项前输出 `level` 个空格即可。
注意,第二个循环中将子菜单项放在列表 `[child]` 中是为了让 `print_menu` 函数能够处理任意深度的菜单树。如果直接调用 `print_menu(child, level+1)`,那么当子菜单树中还有子菜单树时就无法正常工作了。
阅读全文