Re: [问题] 使用递回输出

楼主: cutekid (可爱小孩子)   2019-10-16 20:58:31
import numpy as np
List1 = ["A","B","C","D","E"]
List2 = ["1","2","3","4","5"]
List3 = ["X","Y"]
ALL = [List3,List2]
SIZE = len(List1)
LAYER = len(ALL)
ans = [List1[::] for i in range(LAYER + 1)]
def foo(k,n):
if(k > SIZE): return foo(1,n + 1)
if(n == LAYER):
return print('\n'.join([' '.join(np.array(ans)[:,i]) for i in range(SIZE)]))
for v in ALL[n]:
ans[LAYER - n][SIZE - k] = v
foo(k + 1,n)
foo(1,0)
※ 引述《Dong0129 (阿东)》之铭言:
: 各位版友好,
: 想请教以下情景如何使用递回输出...
: 有3个list如下,
: List1=["A","B","C","D","E"]
: List2=[1,2,3,4,5]
: List3=["X","Y"]
: 想透过递回输出成以下格式,
: A 1 X
: B 1 X
: C 1 X
: D 1 X
: E 1 X
: A 2 X
: B 1 X
: C 1 X
: D 1 X
: E 1 X
: A 3 X
: B 1 X
: C 1 X
: D 1 X
: E 1 X
: A 4 X
: B 1 X
: C 1 X
: D 1 X
: E 1 X
: A 5 X
: B 1 X
: C 1 X
: D 1 X
: E 1 X
: A 1 X
: B 2 X
: C 1 X
: D 1 X
: E 1 X
: A 2 X
: B 2 X
: C 1 X
: D 1 X
: E 1 X
: A 3 X
: B 2 X
: C 1 X
: D 1 X
: E 1 X
: ...
: A 5 X
: B 5 X
: C 5 X
: D 5 X
: E 5 X
: A 1 Y
: B 1 X
: C 1 X
: D 1 X
: E 1 X
: A 2 Y
: B 1 X
: C 1 X
: D 1 X
: E 1 X
: ...
: A 5 Y
: B 5 X
: C 5 X
: D 5 X
: E 5 X
: A 1 X
: B 1 Y
: C 1 X
: D 1 X
: E 1 X
: A 2 X
: B 1 Y
: C 1 X
: D 1 X
: E 1 X
: ...
: A 5 X
: B 5 Y
: C 5 X
: D 5 X
: E 5 X
: A 1 Y
: B 1 Y
: C 1 X
: D 1 X
: E 1 X
: A 2 Y
: B 1 Y
: C 1 X
: D 1 X
: E 1 X
: ...
: A 5 Y
: B 5 Y
: C 5 Y
: D 5 Y
: E 5 Y
: 请问该如何使用递回输出?
作者: Dong0129 (阿东跟上面讲的情况一样b)   2019-10-17 01:22:00
感谢
作者: hank85293   2019-10-17 14:15:00
我看很多人的code都是foofoo 到底是什么
楼主: cutekid (可爱小孩子)   2019-10-17 15:37:00
回楼上: https://bit.ly/33yWEsQ我想不出有意义的命名,所以就用了 foo

Links booklink

Contact Us: admin [ a t ] ucptt.com