作者cutekid (可爱小孩子)
看板Python
标题Re: [问题] 使用递回输出
时间Wed Oct 16 20:58:31 2019
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://webptt.com/cn.aspx?n=bbs/Python/M.1571230712.A.A70.html
※ 编辑: cutekid (36.233.36.224 台湾), 10/16/2019 21:09:20
1F:→ Dong0129: 感谢 10/17 01:22
2F:→ hank85293: 我看很多人的code都是foo 10/17 14:15
3F:→ hank85293: foo 到底是什麽 10/17 14:15
5F:→ cutekid: 我想不出有意义的命名,所以就用了 foo 10/17 16:01