Python递归彩票号码组合

时间:2014-10-31 08:52:29

标签: python recursion

所以我的问题是,在这个乐透中,你必须从数字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

1 个答案:

答案 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