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