所以我的问题是,在这个乐透中,你必须从数字1到49中选择6个数字。我必须使用递归而不使用itertools 来执行。我真的被困在继续编写代码的其他方面。
输入示例:1 2 3 4 5 6 7
输出:
1 2 3 4 5 6
1 2 3 4 5 7
1 2 3 4 6 7
1 2 3 5 6 7
1 2 4 5 6 7
1 3 4 5 6 7
2 3 4 5 6 7
所以除了 else
之外,我还有我的基本情况和其他所有内容:
def lottery( number ):
if len( number ) == 6:
return number
else:
我试过这个,但它不起作用:
else:
output = list()
for i in range( len( numbers ) ):
rem = lotto( numbers[i+1:] )
output.append( numbers[ :i] + rem )
return output
答案 0 :(得分:1)
我认为您的变量名称存在一些问题。尝试:
def lottery(numbers):
if len(numbers) == 6:
return numbers
output = list()
for i in range(len(numbers)):
rem = numbers[i+1:]
output.append(numbers[:i]+rem)
return output