Re: [問題] 使用遞迴輸出

看板Python作者 (可愛小孩子)時間4年前 (2019/10/16 20:58), 4年前編輯推噓0(005)
留言5則, 3人參與, 4年前最新討論串3/4 (看更多)
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
我看很多人的code都是foo
10/17 14:15, 2F

10/17 14:15, 4年前 , 3F
foo 到底是什麼
10/17 14:15, 3F

10/17 15:37, 4年前 , 4F
10/17 15:37, 4F

10/17 16:01, 4年前 , 5F
我想不出有意義的命名,所以就用了 foo
10/17 16:01, 5F
文章代碼(AID): #1TfnFufm (Python)
文章代碼(AID): #1TfnFufm (Python)