from random import *
def Number(N):
if N>0:
return [ choice( [0,1] ) for i in range(N)]
else:
return ("Only Positive #'s!")
我如何递归地执行此操作?
比方说N=5
,所以[0,1,2,3,4]
将每个 # 替换为 0
或1
。我似乎无法专心递归地进行这个列表操作。
最佳答案
这里有一个选项:
from random import choice # don't use * imports
def Number_recursive(N):
if N < 0:
raise ValueError('N must be positive')
if N == 0:
return []
return [choice((0, 1))] + Number_recursive(N-1)
注意引发错误而不是返回字符串;这更直接地告诉调用者出了问题。
关于python - 涉及列表操作时递归思考,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33050921/