看板 Python 關於我們 聯絡資訊
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
Dong0129: 感謝 10/17 01:22
hank85293: 我看很多人的code都是foo 10/17 14:15
hank85293: foo 到底是什麼 10/17 14:15
cutekid: 回樓上: https://bit.ly/33yWEsQ 10/17 15:37
cutekid: 我想不出有意義的命名,所以就用了 foo 10/17 16:01