@@ -5,7 +5,7 @@ def fact(n):
55 if n == 0 :
66 return 1
77 else :
8- return n * fact (n - 1 )
8+ return n * fact (n - 1 )
99
1010
1111def print_num (n ):
@@ -15,14 +15,14 @@ def print_num(n):
1515
1616def print_num_recursive (n ):
1717 if n > 0 :
18- print_num_recursive (n - 1 )
18+ print_num_recursive (n - 1 )
1919 print (n )
2020
2121
2222def print_num_recursive_revserve (n ):
2323 if n > 0 :
2424 print (n )
25- print_num_recursive_revserve (n - 1 )
25+ print_num_recursive_revserve (n - 1 )
2626
2727
2828from collections import deque
@@ -54,6 +54,19 @@ def print_num_use_stack(n):
5454
5555def hanoi_move (n , source , dest , intermediate ):
5656 if n >= 1 : # 递归出口,只剩一个盘子
57- hanoi_move (n - 1 , source , intermediate , dest )
57+ hanoi_move (n - 1 , source , intermediate , dest )
5858 print ("Move %s -> %s" % (source , dest ))
59- hanoi_move (n - 1 , intermediate , dest , source )
59+ hanoi_move (n - 1 , intermediate , dest , source )
60+
61+
62+ def flatten (rec_list ):
63+ for i in rec_list :
64+ if isinstance (i , list ):
65+ for i in flatten (i ):
66+ yield i
67+ else :
68+ yield i
69+
70+
71+ def test_flatten ():
72+ assert list (flatten ([[[1 ], 2 , 3 ], [1 , 2 , 3 ]])) == [1 , 2 , 3 , 1 , 2 , 3 ]
0 commit comments