# 经典递归求解问题: # 1. 迷宫寻路 # 2. 汉诺塔(梵塔) # 3. 骑士周游 # 4. 八皇后 def f(n: int, m=1) -> int: if n == 0 or n == 1: return m return f(n - 1, n * m) def sum(n: int) -> int: if n == 1: return 1 return n + sum(n - 1) def steps(n: int, m={}) -> int: if n < 0: return 0 elif n == 0: return 1 else: try: return m[n] except: m[n] = steps(n - 1) + steps(n - 2) + steps(n - 3) return m[n] def list_depth(items: list) -> int: max_depth = 1 if isinstance(items, list) else 0 if max_depth: for item in items: if isinstance(item, list): max_depth = max(max_depth, list_depth(item) + 1) return max_depth def main(): mylist = [1, ['a', ['b', ['c']]],[100, [200, 300, [400, [500, [600, [700]]]]]]] thylist = [[], [[[]]], [[], []]] print(list_depth(mylist)) print(list_depth(thylist)) if __name__ == '__main__': main()