Re: [問題] 使用遞迴輸出
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
: 請問該如何使用遞迴輸出?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.233.36.224 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1571230712.A.A70.html
※ 編輯: cutekid (36.233.36.224 臺灣), 10/16/2019 21:09:20
→
10/17 01:22,
4年前
, 1F
10/17 01:22, 1F
→
10/17 14:15,
4年前
, 2F
10/17 14:15, 2F
→
10/17 14:15,
4年前
, 3F
10/17 14:15, 3F
→
10/17 15:37,
4年前
, 4F
10/17 15:37, 4F
→
10/17 16:01,
4年前
, 5F
10/17 16:01, 5F
討論串 (同標題文章)